我有一个想要加载视图的控制器。视图的模型有时应该处于编辑模式。因此,我有以下代码:
public ActionResult ExistingOrderDetails(int orderID, bool isEditMode)
{
TempData["isEditMode"] = isEditMode;
Order order = WorkflowManager.GetOrderByID(orderID);
OrderDetailsModel orderDetailsModel = new OrderDetailsModel(order);
return View("OrderDetails", orderDetailsModel);
}
在 OrderDetails.ascx 中,我有以下内容:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<CableSolve.Web.Models.Orders.OrderDetailsModel>" %>
<%
if((bool)TempData["isEditMode"])
{
%><%=Html.EditorForModel()%><%
}
else
{
%><%=Html.DisplayForModel()%><%
}
%>
这对我来说似乎有点骇人听闻。我是否应该将我的 OrderDetails.ascx 拆分为两个单独的 ViewModel,一个 EditableOrderDetails.ascx 和一个 ReadOnlyOrderDetails.ascx?只是好奇。