ASP.NET MVC 2 – ViewModel前缀
发布时间:2020-05-24 05:58:21 所属栏目:asp.Net 来源:互联网
导读:我想在我的视图中使用RenderPartial两次与不同的模型相关联.问题是在两个模型中都有一些属性(昵称,密码).它们没有前缀,所以即使输出中的id或名称相等.现在,如果我有昵称或密码的模型错误,那么这两个字段都会突出显示. 主视图: div % Html.RenderPartial(Regi
|
我想在我的视图中使用RenderPartial两次与不同的模型相关联.问题是在两个模型中都有一些属性(昵称,密码).它们没有前缀,所以即使输出中的id或名称相等.现在,如果我有昵称或密码的模型错误,那么这两个字段都会突出显示. 主视图: <div>
<% Html.RenderPartial("Register",Model.RegisterModel); %>
</div>
<div>
<% Html.RenderPartial("Login",Model.LoginModel); %>
</div>
登录PartialView: <% using (Html.BeginForm("Login","Member")) { %>
<fieldset>
<legend>Login</legend>
<p>
<%= Html.LabelFor(x => x.Nickname) %>
<%= Html.TextBoxFor(x => x.Nickname) %>
</p>
<p>
<%= Html.LabelFor(x => x.Password) %>
<%= Html.PasswordFor(x => x.Password) %>
</p>
<input type="submit" value="Login" />
</fieldset>
<% } %>
注册PartialView: <% using (Html.BeginForm("Register","Member")) { %>
<fieldset>
<legend>Register</legend>
<p>
<%= Html.LabelFor(x => x.Nickname) %>
<%= Html.TextBoxFor(x => x.Nickname) %>
</p>
<p>
<%= Html.LabelFor(x => x.Email) %>
<%= Html.TextBoxFor(x => x.Email) %>
</p>
<p>
<%= Html.LabelFor(x => x.Password) %>
<%= Html.PasswordFor(x => x.Password) %>
</p>
<p>
<%= Html.LabelFor(x => x.PasswordRepeat) %>
<%= Html.PasswordFor(x => x.PasswordRepeat) %>
</p>
<input type="submit" value="Register" />
</fieldset>
<% } %>
我该怎么改? 解决方法而不是使用Html.RenderPartial,您可以使用将处理前缀的 editor templates.所以在你的主要观点: <div>
<%-- See below what does the second argument mean --%>
<%= Html.EditorFor(x => x.RegisterModel,"RegisterModel") %>
</div>
<div>
<%= Html.EditorFor(x => x.LoginModel,"LoginModel") %>
</div>
然后创建一个文件夹Views / Shared / EditorTemplates / RegisterModel.ascx(该文件的名称在EditorFor Helper方法中使用).还要注意,这个部分应该强制类型为RegisterModel属性的类型: <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Ns.Models.RegisterModel>" %>
<% using (Html.BeginForm("Register","Member")) { %>
<fieldset>
<legend>Register</legend>
<p>
<%= Html.LabelFor(x => x.Nickname) %>
<%= Html.TextBoxFor(x => x.Nickname) %>
</p>
<p>
<%= Html.LabelFor(x => x.Email) %>
<%= Html.TextBoxFor(x => x.Email) %>
</p>
<p>
<%= Html.LabelFor(x => x.Password) %>
<%= Html.PasswordFor(x => x.Password) %>
</p>
<p>
<%= Html.LabelFor(x => x.PasswordRepeat) %>
<%= Html.PasswordFor(x => x.PasswordRepeat) %>
</p>
<input type="submit" value="Register" />
</fieldset>
<% } %>
您可以在Views / Shared / EditorTemplates / LoginModel.ascx中为登录模型定义不同的部分 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – ASP.NET MVC的初学者在线资源是什么?
- ASP.NET MVC5 OWIN:通过Facebook登录后,为什么User.Identi
- iis – 加速asp.net开发服务器
- asp.net-mvc – Ninject – 具有参数/ Entity Framework连接
- 将ASP.NET添加到ASP.NET文本框控件的OnBlur属性
- .NET图表控件 – 轴X文本旋转
- 如何使用WMD在ASP.NET中存储降价?
- asp.net-mvc – ASP MVC友好的URL和相对路径图像
- 在asp.net中使用SQL查询中的变量(C#)
- asp.net-mvc – EntityFramework.SqlServer未在Web发布中部
推荐文章
站长推荐
- asp.net – 使用ModalPopupExtender而不必设置Ta
- asp.net-mvc-4 – 在MVC4环境中使用Razor和Angul
- asp.net-mvc – 使用jQuery ajax / load提交数组
- asp.net – 如何Html.Encode在Webforms
- asp.net-mvc – ASP.Net身份登录重定向强制协议(
- asp.net-mvc – mvc视图中的动态类型
- asp.net – 使用codebehind显示隐藏div
- 防止IIS卸载ASP.Net站点
- 在asp.net发送简讯到大约10000封电子邮件
- asp.net – 将default.aspx重定向到根虚拟目录
热点阅读
