1)用戶表示什麼樣的結果,用戶希望看到
2)控制器將此用戶界面並將其存儲起來以備後用
3)控制器進入DAL並從DAL獲取數據4)然後控制器按照#2
以某種方式修改返回結果5)然後控制器將修改的數據傳遞給UI
6)UI呈現數據
我認爲你的斷開連接從4開始,可能會擴展到6個。
事實上,有成千上萬的方法來做到這一點。這裏有一種方法可以用驚人的C#類僞代碼來實現。
首先,我會創建一個視圖模型,其中包含有關我想要顯示給用戶的信息。
原始LINQ到SQL(略):
public class Person
{
public string FirstName {get;set;}
public string LastName {get;set;}
public string Tel {get;set;}
}
我的視圖模型:
public partial class PeopleView
{
public bool ShowFirstName {get;set;}
public bool ShowLastName {get;set;}
public bool ShowTel {get;set;}
public IEnumerable<Person> People {get;set;}
}
是PREPS模型的控制方法:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult PersonDetails(bool showFirstName,
bool showLastName, bool showTel)
{
var viewData = new PeopleView()
{
ShowFirstName = showFirstname,
ShowLastName = showLastName,
ShowTel = showTel,
People = Dal.GetPeople()
};
return View(viewData);
}
而這裏的景觀:
<% foreach(var item in ViewData.Model.People){ %>
<% if(ViewData.Model.ShowFirstName) {%>
<%= item.FirstName %><br/>
<% } %>
<% if(ViewData.Model.ShowLastName) {%>
<%= item.LasttName %><br/>
<% } %>
<% if(ViewData.Model.ShowTel) {%>
<%= item.Tel %><br/>
<% } %>
<% } %>
你需要給我的,你要完成什麼更好的解釋。 「根據用戶的不同要求得到結果」是什麼意思? – 2009-06-17 15:34:52