繁体   English   中英

如何使用ASP.NET 3网站在Razor中动态更改方法名称

[英]How to change method name dynamically in Razor with ASP.NET 3 website

我想为不同的页面动态更改方法名称。

我的代码是(C#,ASP.NET,HTML)

if (IsPost)
{   
    if (Validation.IsValid())
    { 
    errorMsg = "";
    var input = Request.Form["awb"].Trim();
    errorMsg = @input;
    track trackObj = new track();

    **output = trackObj.tpc(input);**       

    <div class="row">
        <div class="embed-responsive embed-responsive-16by9">
            <iframe id="result" sandbox="allow-same-origin" class="embed-responsive-item" src="@output"></iframe>
        </div>
    </div>
}
}

这是我网站一页上的代码,我需要在20多个页面中使用同一代码。 因此,我不喜欢在每个页面上复制并粘贴相同的代码。

我正在寻找一些概念来动态更改方法名称。

output =trackobj.tpc(input);

应该

output=trackobj.something(input); //in another page

在Razor中,我尝试了以下方法。

1.动态实例

@Page.MethodName="somename";

是导致运行时错误。

2,创建新的渲染区域

@RenderSection(somename,false);

它在网页中显示方法名称。

还有其他可能的方法可以为不同的网站动态更改方法名称吗?

还是我必须手动将代码复制到其他页面?

AFAIK(不可能)使用可以解析目标方法调用的工厂,您可以使用它。 您可以在呼叫者等处向工厂提供一些提示。这将是一种可靠且可插入的方法。

我使用Mustache框架来动态更改方法名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM