我正在接受一個對象並將其屬性寫入模型,然後在我的視圖中顯示模型進行編輯。之後,用戶點擊提交併將模型發回給我的控制器。我現在想要取模型的屬性並將它們寫回到對象中。將屬性從模型複製回對象 - 顯式複製或迭代屬性集合?
我正在考慮使用反射來這樣做,但我有點謹慎。以爲我會檢查是否有更明顯的答案。
代碼:如何做到這一點
//OrderDetailsModel
public OrderDetailsModel(Order order)
{
CompletionDateTime = order.CompletionDateTime;
CreateDateTime = order.CreateDateTime;
UpdateDateTime = order.UpdateDateTime;
BusinessArea = order.BusinessArea;
Comment = order.Comment;
CostCenter = order.CostCenter;
CreateUsername = order.CreateUsername;
Customer = order.Customer;
IncidentNumber = order.IncidentNumber;
OrderID = order.ID;
OrderStatus = order.OrderStatus;
ProjectName = order.ProjectName;
ProjectNumber = order.ProjectNumber;
ProjectSubcode = order.ProjectSubcode;
UpdateUsername = order.UpdateUsername;
Description = order.Description;
}
//OrdersController
public ActionResult SaveOrderDetails(OrderDetailsModel orderDetailsModel)
{
Order order = WorkflowManager.GetOrderByID(orderDetailsModel.OrderID);
foreach(PropertyInfo propertyInfo in orderDetailsModel.GetType().GetProperties)
{
//Write properties back.
}
return null;
}
的思考?
爲什麼不只是緩存原始順序,然後用您存儲在OrderDetailsModel中的數據設置屬性?更好的是,爲什麼不在你的OrderDetailsModel中使用getter和setter,使用緩存順序中的getter和setter? –