在我的索引視圖中,我有通常的編輯,詳細信息和刪除鏈接。我已經爲它們製作了圖標,並且由於我將它們全部用到了部分視圖中。使用不同模型的ASP.NET MVC局部視圖
現在,我沒有感覺我在這裏做最好的練習。所以我的問題是:如何優化它,或者最佳實踐應該有什麼不同。
局部視圖:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MVC2_NASTEST.Models.ButtonDetail>" %>
<%if (Model.edit) { %>
<a href='<%= Url.Action("Edit", Model.RouteValues) %>'>
<img src="<%= Url.Content("~/img/pencil.png") %>" alt="Edit" width="16" /></a>
<%} if (Model.details) { %>
<a href='<%= Url.Action("Details",Model.RouteValues) %>'>
<img src="<%= Url.Content("~/img/application_view_detail.png") %>" alt="Details" width="16" /></a>
<%} if (Model.delete) { %>
<a class="delbtn" href='<%= Url.Action("Delete",Model.RouteValues) %>'>
<img src="<%= Url.Content("~/img/cancel.png") %>" alt="Delete" width="16" /></a>
<%} %>
視圖模型:
using System;
namespace MVC2_NASTEST.Models {
public partial class ButtonDetail {
public object RouteValues { get; set; }
public bool edit { get; set; }
public bool details { get; set; }
public bool delete { get; set; }
}
}
能夠或應該的ViewModels是在型號命名空間?或將它們放置在不同的命名空間中?這裏最好的做法是什麼?
Index視圖:
<% foreach (var item in Model) { %>
<tr>
<td>
<% Html.RenderPartial("buttons", new MVC2_NASTEST.Models.ButtonDetail() { RouteValues = new { id = item.hlpb_ID, test = item.hlpb_Ontvanger }, edit = true, details = true, delete = true }); %>
</td>
<td>
<%: item.hlpb_Titel %>
</td>
<td>
<%: item.hlpb_Schooljaar %>
</td>
<td>
...
</td>
</tr>
<% } %>
尤其是在索引視圖不看最好的做法在我眼中的一部分。
誰是我使用get? :)刪除通過jQuery確認模式和'$ .post',所以不用擔心。那麼你在暗示什麼?使3個單獨的部分?使用這個部分的目標是讓我的代碼變幹。所以你說這個圖像應該只是CSS?並忘記部分? – Stefanvds 2010-09-22 10:58:56