我是ASP.Net MVC的新手,對於主細節輸入表單有疑問。主要細節ASP.Net MVC
我的數據庫有一個與外科醫生,免疫和父表的外鍵關係的子表。我使用Linq to SQL來創建我的模型。
我已經爲Child創建了控制器和視圖。用戶會立即提交表格並提交所有內容 - 兒童,他們的醫生信息,一個或多個家長以及一個或多個疫苗接種。
我不知道如何解決這個問題。我是否需要接種疫苗,家長等控制器?
我的預MVC應用程序只需抓住一切從Web表單和全部的
我是ASP.Net MVC的新手,對於主細節輸入表單有疑問。主要細節ASP.Net MVC
我的數據庫有一個與外科醫生,免疫和父表的外鍵關係的子表。我使用Linq to SQL來創建我的模型。
我已經爲Child創建了控制器和視圖。用戶會立即提交表格並提交所有內容 - 兒童,他們的醫生信息,一個或多個家長以及一個或多個疫苗接種。
我不知道如何解決這個問題。我是否需要接種疫苗,家長等控制器?
我的預MVC應用程序只需抓住一切從Web表單和全部的
我通常有一個控制器,支持多種視圖(添加,編輯,刪除等)。我從我的數據庫中讀取到一個模型,該模型包含您在視圖中需要的每條數據的字段。然後將模型傳遞給視圖,以便它可以呈現它。
表單提交後,您將從它獲取一個模型作爲控制器的參數。然後根據需要更新數據庫。
這是一些代碼。我沒有嘗試編譯它,所以你的里程可能會有所不同。
public class ParentModel
{
// Parent fields
public string FirstName { get; set; }
public string LastName { get; set; }
IList<ChildModel> Children { get; set; }
}
public class ChildModel
{
// Child fields
public int Age { get; set; }
}
public ActionResult MyAction()
{
// Grab a model with the children property filled out
ParentModel myModel = GetFromDatabase();
return View("MyView", myModel);
}
的視圖(縮寫):
<%@ Page Title="" Language="C#" Inherits="System.Web.Mvc.ViewPage<ParentModel>" %>
.
.
.
<% using (Html.BeginForm("MyAction", "MyController", FormMethod.Post)) %>
<% {%>
<%= Html.ValidationSummary(true) %>
<table>
<tr valign="top">
<td>
<%:Html.LabelFor(a => a.FirstName)%>:
</td>
<td>
<%:Html.EditorFor(a => a.FirstName)%>
<%:Html.ValidationMessageFor(a => a.FirstName)%>
</td>
</tr>
<tr valign="top">
<td>
<%:Html.LabelFor(a => a.LastName)%>:
</td>
<td>
<%:Html.EditorFor(a => a.LastName)%>
<%:Html.ValidationMessageFor(a => a.LastName)%>
</td>
</tr>
</table>
.
.
.
<%} %>
你只需要在主控制器。對於編輯列表的竅門認爲(子對象)中this haacked post
解釋基本上你需要遵循這一慣例和MVC將填補子對象的數組中的POST方法:
<% for (int i = 0; i < 3; i++) { %>
<%: Html.TextBoxFor(m => m[i].Title) %>
<%: Html.TextBoxFor(m => m[i].Author) %>
<%: Html.TextBoxFor(m => m[i].DatePublished) %>
<% } %>
謝謝你那麼你是否建議如果一個模型暴露了孩子和父母名單,疫苗列表等,該視圖會自動正確地渲染。我認爲我沒有正確理解你。 – 2010-11-17 20:55:16
您需要創建一個具有合適的Html助手的視圖。看我上面的例子。 – rboarman 2010-11-17 21:10:05