2010-12-17 84 views
0

選擇列表項我仍然this--ASP.NET MVC 2 - 無需數據庫

所有我終究是一個訂單掙扎,最初這將是一臺筆記本電腦訂單,但它可能是一臺電腦,打印機等。所以我有一個訂單控制器筆記本電腦行動這使得一個新的筆記本電腦型號。在模型中,我想收集諸如客戶名稱,客戶詳細信息等各種信息。在我的模型中,我也想保留一個選擇列表,但我一直在嘗試很長時間,只是似乎無法讓它運行。我的筆記本電腦型號有這樣的:

--Laptop型號選擇列表

public SelectList screenSize = new SelectList(new[] 
    { 
     new SelectListItem { Text = "11.6", Value = "11.6" }, 
     new SelectListItem { Text = "15.6", Value = "15.6" }, 
     new SelectListItem { Text = "17", Value = "17" } 
    }, "Value", "Text"); 

在控制器我接受後

[HttpPost] 
    public ActionResult Index(Laptop laptopToEmail) 
    { 
     if (ModelState.IsValid) 
     { 
      ...send an email 
     } 
     else return View(laptopToEmail) 
    } 

在我能夠渲染出的視圖中的筆記本電腦項目列表和我有一個選擇列表,但我沒有得到一個值傳遞給電子郵件時,我使用

laptopToEmail.screenSize.SelectedValue 

該視圖有這個幫手。

<%: Html.DropDownList("screenSize",Model.screenSize) %> 

我在這裏錯過了什麼嗎?毫無疑問,如果沒有MVC數據庫,選擇列表就無法工作。

回答

1

你知道,所有這些neato MVC Html助手都有HTML等價物。對於2項下拉,爲什麼不寫一些HTML:

<select> 
    <option value="a">Option A</option> 
    <option value="b">Option b</option> 
</select> 
+0

如果我說,在我的模型中的公共字符串,然後放置在選擇列表中的HTML的名稱標記,將工作以匹配我的模型屬性,但無疑,作爲視圖的dirtys MVC有選擇列表而不是模型?在我的控制器中,我可以使用if(ModelState.IsValid)來處理HttpPost,它會從HTML選擇列表中獲取值 - 我剛剛測試過它,它可以工作,但我不確定這是否很好SOC – Aaron 2010-12-17 16:22:03

+0

沒有任何法律規定你需要使用相同的模式才能返回。 。 。 – 2010-12-17 16:38:03