2013年7月4日 星期四

MVC + Razor 在內部傳遞數據

參考資料參考資料

最近在學Razor語法,據說是長得很像C#但我完全沒感覺的Razor...
這是為了配合MVC架構

所謂MVC架構就是...



SQL放Model
User看的到的放View
剩下放Controllers
(講得這麼隨便好嗎...)

恩反正那不是今天的重點
今天的重點是在View建一個下拉選單,輸入資料之後傳給伺服器做對應反應

首先View的資料來源有兩種
第一個是不推薦的寫死在View上面,專家一定都會跟你講不要這樣寫


<select id="OrderBySelect" runat="server">
            <option value="a" selected="selected" >A</option>
            <option value="b" >B</option>
另一種是寫在Model的Index裡面
List<SelectListItem> OrderByData = new List<SelectListItem>();

OrderByData.Add(new SelectListItem() { Text = "A", Value = "a" });
OrderByData.Add(new SelectListItem() { Text = "B", Value = "b" });

ViewData["OrderBySelect"] = OrderByData;

不是我要說,ViewData真的很好用就跟Session一樣可以亂塞東西
等等記得要用同個名字把他叫回來就好,然後回Index頁面加上這行






@Html.DropDownList("OrderBySelect", (IEnumerable<SelectListItem>)ViewData["OrderBySelect"])


這樣就可以把資料弄出來了
接下來要把它塞回去,回到Controllers用以下這行呼喚


string OrderBySelect = Request.Form["OrderBySelect"];
就可以叫的回來了


這樣我們就完整地把資料輪迴一遍可以收工了









沒有留言:

張貼留言