asp.net-mvc-4 – ASP .NET MVC 4包含两个部分视图的视图,每个视
在我的MVC 4应用程序中,我有一个索引视图.在此视图中,我有两个div标签,其中呈现部分视图.点击时有两个按钮使用jQuery在这两个div之间切换.部分视图的每个模型都是强类型的.
题: 如何将模型传递给部分视图? 部分视图是在这种情况下的方式吗? 任何帮助表示赞赏. 这是我尝试过的没有任何成功: Index.cshtml <div id="token"> <!-- insert Token based PartialView --> @{ //Html.RenderPartial("_TokenPartial"); Html.RenderAction("TokenBased"); } <div id="credentials"> <!-- insert Credentials based PartialView --> @{ //Html.RenderPartial("_CredentialPartial"); Html.RenderAction("CredentialsBased"); } </div> 我尝试使用HTML.RenderPartial(“_ partial”),但无法指定部分View所基于的模型.然后我尝试使用Html.RenderAction(“TokenBased”)并在此操作中返回部分视图,其中包含此View的模型实例: CredentialController.cs public ActionResult TokenBased(string token) { ... return View("_TokenPartial",new TokenModel); } 以下是部分视图: TokenPartial.cshtml @model TokenModel @using (Html.BeginForm("CreateAgreementToken","Credential")) { <div class="formscontent"> @Html.LabelFor(x => x.Token) <br /> @Html.TextBoxFor(x => x.Token,new {size = "44" }) @Html.ValidationMessageFor(x => x.Token) <br /> <br /> @Html.LabelFor(x => x.Email) <br /> @Html.TextBoxFor(x => x.Email,new {size = "30" }) @Html.ValidationMessageFor(x => x.Email) <br /> <br /> @Html.CheckBoxFor(x => x.AcceptSubsTerms,new { value = "SubsTerms"}) @Html.LabelFor(x => x.AcceptSubsTerms) @Html.ValidationMessageFor(x => x.AcceptSubsTerms) @Html.ActionLink("SubsTermsLinkText","Subscription",null,new {target = "_blank"}) <br /> <br /> </div> <br /> <input class="mainbutton" type="submit" value="CreateAgreement_btn_txt"/><br /> } 这是POST动作方法: [HttpPost] public ActionResult CreateAgreementToken(TokenModel model) { if (ModelState.IsValid) { // Create Agreement // // return RedirectToAction("Welcome"); } // If we got this far,something failed,redisplay form ModelState.AddModelError("","The user credentials provided are incorrect."); // Where to redirect to. // How to re-render the Index view that's aware of the ModelState errors return RedirectToAction("Index"); } 如何处理Controller操作方法,索引视图和部分视图之间的交互,就像在“正常”情况下,您有一个索引操作方法呈现索引视图,将其传递给模型实例.然后在Index POST操作方法中,如果验证失败,则通过调用Index视图重新显示表单,并将其传递给无效模型. 谢谢 解决方法
要将模型传递给部分模型,请使用@ Html.Partial(“SomeFile”,SomeModel);
我建议如果你有多个表单,你给他们每个不同的控制器动作.您可以使用@ Html.BeginForm指定控制器和操作参数. Partials只是组织html的一种方式.一旦页面呈现,它们就没有上下文,所以我不会太在意它. 为了让您的视图了解模型状态中的错误,您需要将模型传递给它.而不是重定向到索引返回索引视图并将模型作为第二个参数传递. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – dotnet运行OR dotnet手表与开发环境从命令行?
- asp.net – DropDownList获取底层对象
- 防止为ASP.NET服务器控件打包标签
- asp.net-mvc – 在MVC Razor视图中使用@RenderBody有什么意
- asp.net – MVC-Mini-Profiler – Web窗体 – 找不到/ mini
- asp.net – 带有Windows身份验证的User.Identity.Name
- asp.net-core – 在Asp.Net Core中,如何从正文中获取multip
- asp.net – If-Modified-由于IE9传递的HTTP头包含长度?
- asp.net 虹软人脸识别 释放内存
- 单元测试 – Moq Mocking with Identity 2.0 Database
- asp.net – 有没有一个原因,cshtml不受欢迎
- 是否可以更改ASP.NET MVC 3路由约束,以便它们返回
- asp.net – 为什么GridView在回发后不会将标题行
- ASP.NET MVC 3使用身份验证
- asp.net – 发布网站项目时Temp路径太长
- asp.net-mvc – ASP.NET MVC多站点SSO使用OpenID
- asp.net-core-mvc – Identity 3.0当id为“int”
- 你的控制器应该在asp.net-mvc中有多大
- asp.net – 如何加速Visual Studio Webserver(Ca
- 如何使用asp.net在负载均衡机上获取访问者IP