[英]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.