Asp.net mvc 4 mvc-如何从局部视图属性及其父视图中为其赋值
我有一个视图a、视图B和视图C 视图C是在视图a和B内部渲染的局部视图: 视图A:Asp.net mvc 4 mvc-如何从局部视图属性及其父视图中为其赋值,asp.net-mvc-4,asp.net-mvc-partialview,Asp.net Mvc 4,Asp.net Mvc Partialview,我有一个视图a、视图B和视图C 视图C是在视图a和B内部渲染的局部视图: 视图A: <div style="margin-top:20px;"> <div> @Html.Partial("~/Views/_C.cshtml", null, new ViewDataDictionary { { "WithRedirect", "true" } }); </div> </div> if(WithRedirect.E
<div style="margin-top:20px;">
<div>
@Html.Partial("~/Views/_C.cshtml", null, new ViewDataDictionary { { "WithRedirect", "true" } });
</div>
</div>
if(WithRedirect.Equals(“true”)
返回重定向(返回Url??Url.Action(“索引”、“页面1”);
其他的
返回重定向(返回Url??Url.Action(“索引”、“页面2”)
调试控制器时,WithRedirect
变量为空字符串
我做错了什么?解决方案是什么?在局部视图中(\u C.cshtml
),您可以从ViewDataDictionary
中读取值,并将其设置为表单
中的输入字段。提交表单时,此值也将提交。您可以在http post操作方法中设置一个参数,该参数将接收此输入字段值,并使用该参数可以有条件地重定向到第1页或第2页
@model LoginViewModel
@using (Html.BeginForm("Login","Home"))
{
<input type="hidden" name="withRedirect" value="@ViewData["WithRedirect"]" />
@Html.LabelFor(f=>f.Password)
@Html.TextBoxFor(x=>x.Password )
<input type="submit" />
}
在局部视图中(\u C.cshtml
),您可以从ViewDataDictionary
中读取值,并将其设置为表单
中的输入字段。提交表单时,此值也将提交。您可以在http post操作方法中设置一个参数,该参数将接收此输入字段值,并使用该参数可以有条件地重定向到第1页或第2页
@model LoginViewModel
@using (Html.BeginForm("Login","Home"))
{
<input type="hidden" name="withRedirect" value="@ViewData["WithRedirect"]" />
@Html.LabelFor(f=>f.Password)
@Html.TextBoxFor(x=>x.Password )
<input type="submit" />
}
string withRedirect = this.ViewData.ContainsKey("WithRedirect") ? this.ViewData["WithRedirect"].ToString() : string.Empty;
@model LoginViewModel
@using (Html.BeginForm("Login","Home"))
{
<input type="hidden" name="withRedirect" value="@ViewData["WithRedirect"]" />
@Html.LabelFor(f=>f.Password)
@Html.TextBoxFor(x=>x.Password )
<input type="submit" />
}
[HttpPost]
public ActionResult Login (LoginViewModel model,bool withRedirect)
{
//to do : Do something
if(withRedirect)
{
return RedirectToAction("Index","Page1");
}
return RedirectToAction("Index","Page2");
}