asp.net-mvc – 重用MVC视图同时显示数据和编辑数据
发布时间:2020-12-16 10:01:30 所属栏目:asp.Net 来源:网络整理
导读:我有两个MVC视图…一个用于显示细节,另一个用于编辑值.它们使用几乎相同的模板,但在切换到编辑器视图时DisplayFor更改为EditorFor.如何在视图中重用我的基本布局结构,这样如果我需要更改基本布局,我只需要在一个位置而不是多个视图中进行? 以下是显示视图中
我有两个MVC视图…一个用于显示细节,另一个用于编辑值.它们使用几乎相同的模板,但在切换到编辑器视图时DisplayFor更改为EditorFor.如何在视图中重用我的基本布局结构,这样如果我需要更改基本布局,我只需要在一个位置而不是多个视图中进行?
以下是显示视图中使用的表的示例: <table> <tr> <td class="label">First Name:</td> <td class="field">@Html.DisplayFor(x => Model.FirstName)</td> </tr> <tr> <td class="label">Last Name:</td> <td class="field">@Html.DisplayFor(x => Model.LastName)</td> </tr> <tr> <td class="label">Email:</td> <td class="field">@Html.DisplayFor(x => Model.Email)</td> </tr> </table> 解决方法
您可以将Mode属性添加到视图模型中:
public bool IsInEditMode { get; set; } 然后,您的控制器可以使用相同的视图和模型,只是相应地设置此属性.你的观点最终会像: <table> <tr> <td class="label">First Name:</td> <td class="field"> @if (!Model.IsInEditMode) { @Html.DisplayFor(x => Model.FirstName) } else { (render EditorFor plus any validation helpers) } </td> </tr> ...etc... </table> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- asp.net-mvc – ASP.NET MVC ModelMetaData:有没
- asp.net – 锚标记href中的eval
- asp.net-ajax – 该页面正在执行异步回发,但Scri
- 更改ASP.NET MVC或IIS中的URL根路径
- asp.net – GetExternalLoginInfoAsync()loginIn
- asp.net-mvc – 不要在JSON中序列化Entity Frame
- 如何从Asp.Net Code Behind调用JavaScript函数?
- asp.net-mvc – 在MVC/ASP.NET MVC中正确使用Mod
- 在ASP.net中模拟HttpSessionState进行单元测试
- 可用.net控件库的比较
热点阅读