我有一个局部视图(控件)在多个视图页面中使用,并且我需要将当前视图的名称传递回控制器,以便在出现验证错误时重新绘制原始视图。
可以通过以下方式解决(在控制器方法中)。
var viewName = "Details"; // or whatever
ViewData["viewName"] = viewName;
return(View(viewName, customer));
然后在部分视图中,将其呈现为
<input type="hidden" name="viewName"
value="<%=Html.Encode(ViewData["viewName"])%>" />
问题是 - 是否有一些属性或语法可以直接检索它,而不是通过控制器设置它?我已经尝试了显而易见的:
<input type="hidden" name="viewName"
value="<%=Html.Encode(this.Name)%>" />
但这并不起作用。我在这里漏掉了什么吗?
谢谢。