2010-09-22 15 views
0
<select name="MessageType" style="width: 151px"> 
    <option value="P">P - Proprietary</option> 
    <option value="B">B - BCBSA</option> 
    <option value="S">S - Place Specific</option> 
</select> 

如何爲此Dropdownlist框設置所選值?如何爲此選擇定義的值?

<%=p.MessageType%> ..這是我從數據庫中獲取的價值,這樣在我的網格什麼都值未來形式的數據庫就會在下拉框在網格上顯示現在它顯示我作爲默認值P甚至數據庫值B

感謝

回答

4

快速和骯髒的方式:

<select name="MessageType" style="width: 151px"> 
    <option value="P"<%=p.MessageType == "P" ? "selected=\"selected\"" : "" %>>P - Proprietary</option> 
    <option value="B"<%=p.MessageType == "B" ? "selected=\"selected\"" : "" %>>B - BCBSA</option> 
    <option value="S"<%=p.MessageType == "S" ? "selected=\"selected\"" : "" %>>S - Place Specific</option> 
</select> 
+0

感謝獵人..如果我嘗試你的代碼我得到這個錯誤消息無法轉換lambda表達式鍵入'System.Collections.Generic.IEnumerable ',因爲它不是委託類型 請幫我解決這個問題 – kumar 2010-09-22 17:00:47

+0

我認爲你需要發佈更多。我認爲'p'是一些局部變量。什麼是'p'? – hunter 2010-09-22 17:04:12

+0

P是一些值..這是MessgeType .. P B S是消息類型。 – kumar 2010-09-22 17:11:07

7

我會使用產生select領域的標準HTML輔助方法(Html.DropDownListFor)推薦你。

<%= Html.DropDownListFor(x => x.MessageType, new SelectList(new[] { 
    new { Id = "P", Value = "P - Proprietary" }, 
    new { Id = "B", Value = "B - BCBSA" }, 
    new { Id = "S", Value = "S - Place Specific" }, 
}, "Id", "Value"), new { style = "width: 151px" }) %> 

然後簡單地設置您的視圖模型,以任何可能的值(P,B,S)和輔助的MessageType財產將採取其他的事情。

+0

是的但我很難編碼的下拉列表值..在這種情況下? – kumar 2010-09-22 16:57:30

+1

不要對列表值進行硬編碼。使用助手。 – 2010-09-22 16:58:12

+0

@kumar:你可以爲他們提供你的模型,將填充他們在'DropDownListFor()' – 2010-09-22 16:58:47

0

首先,這是一個標準的HTML下拉菜單。如果您想將它作爲.NET對象使用,它需要是一個asp:DropDownList,然後您可以使用SelectedItem或SelectedValue訪問選擇。

對於HTML下拉菜單,只需將「selected」屬性添加到您希望將其指定爲初始選定值的選項元素即可。

+1

-1:這是MVC而不是WebForms:不惜一切代價避免Asp.net WebForms服務器控件。 – 2010-09-22 17:01:00

1

對於example,嘗試:

<option selected="selected"> 

Thisthis可能的幫助。

1

在您的視圖模型中,您可以擁有一個包含MessageTypes的完整集合的對象,然後將您的DDL命名爲主消息表的外鍵,從而允許它利用內置的綁定。

<select name="Message.TypeId" id="Message_TypeId" style="width: 151px"> 
    <option value="P">P - Proprietary</option> 
    <option value="B">B - BCBSA</option> 
    <option value="S">S - Place Specific</option> 
</select> 

假設你的模型中包含一個消息對象,

Model.Message.TypeId將對應,並突出顯示相應的DDL選項。