我有一个在多个视图页面中使用的局部视图(控件),我需要将当前视图的名称传递回控制器 - 所以如果有例如验证错误,我可以重新绘制原始视图.
解决方法是(在控制器方法中)
var viewName = "Details"; // or whatever
ViewData["viewName"] = viewName;
return(View(viewName, customer));
Run Code Online (Sandbox Code Playgroud)
然后在部分本身中,将其渲染为
<input type="hidden" name="viewName"
value="<%=Html.Encode(ViewData["viewName"])%>" />
Run Code Online (Sandbox Code Playgroud)
问题是 - 是否有一些属性或语法我可以直接检索它而不是从控制器设置它?我试过了明显的事:
<input type="hidden" name="viewName"
value="<%=Html.Encode(this.Name)%>" />
Run Code Online (Sandbox Code Playgroud)
但这不起作用.我在这里错过了什么?
谢谢.