当前位置:  开发笔记 > 后端 > 正文

如何在Asp.NET MVC中干净地重用编辑/新视图

如何解决《如何在Asp.NETMVC中干净地重用编辑/新视图》经验,为你挑选了2个好方法。

我在ASP.NET MVC中重用相同的ViewUserControl时试图避免这样的代码.有什么建议?

<% if (ViewContext.ViewData["editMode"].ToString() == "edit"){ %>
    <%= Html.SubmitButton("submit", "Update Brand")%>OrCancel
<% } else { %>
    <%= Html.SubmitButton("submit", "Create New Brand")%>OrCancel
<%} %>

而......

<% if (ViewContext.ViewData["editMode"].ToString() == "edit"){ %>
    

Edit Brand Details

<% } else { %>

Create A New Brand

<%} %>

tvanfosson.. 12

我总是为New和Edit创建单独的视图,否则感觉我的应用程序逻辑开始蔓延到我的视图中.同样,我对Create和Update有不同的控制器操作.或许更好的方法是获取两个视图共享的位并将它们移动到用户控件并执行RenderPartial.这样,您可以使用单一模式获得干净的视图,但只能编写一次公共部分.



1> tvanfosson..:

我总是为New和Edit创建单独的视图,否则感觉我的应用程序逻辑开始蔓延到我的视图中.同样,我对Create和Update有不同的控制器操作.或许更好的方法是获取两个视图共享的位并将它们移动到用户控件并执行RenderPartial.这样,您可以使用单一模式获得干净的视图,但只能编写一次公共部分.



2> Nasser..:

为您的实体创建一个(或多个)部分视图(使用联系人实体的示例) - IdChange.ascx(显示Id和更改信息) - PersonalInfo.ascx - Address.ascx

只有编辑视图才需要IdChange.ascx

创建两个单独的视图以进行编辑和创建,然后使用RenderPartial将模型数据带到视图中.Create.aspx


<%= Html.ValidationSummary("Create was unsuccessful. Please correct the errors and try again.") %>
<% using (Html.BeginForm())
   { %>
Create a new contact
<% Html.RenderPartial("PersonalInfo", Model); %>

Edit.aspx


<%= Html.ValidationSummary("Edit was unsuccessful. Please correct the errors and try again.") %>
<% using (Html.BeginForm())
   { %>
Edit existing contact
<% Html.RenderPartial("IdChange", Model); %>
<% Html.RenderPartial("PersonalInfo", Model); %>

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有