2012-12-14 89 views
0

我在.aspx頁面中創建了一個選擇列表。mvc3 dropdownlist設置從模型中選擇的值

<label for="AccessType" class="required"><span class="required">*</span><%=Html.Resource("accessType")%>:</label> 
       <select id="AccessType" name="AccessType"> 
       <% foreach (var item in Enum.GetValues(typeof(Security.AccessType))) 
       {%> 
       <option value="<%=(int)item%>"><%=item%> </option> 
       <%}%> 
       </select><br /> 

現在,每次我加載頁面時,它將選擇第一個值作爲默認值,因爲我希望模型中存在的值是選中的。

我將下拉到我的代碼中的枚舉。 Security.AccessType是枚舉而不是模型。所以每次頁面加載它顯示的下拉作爲第一個枚舉

我想選擇的項目是說Model.AccessType的設定值的...

我知道它的一個非常基本的問題,但仍任何幫助?

+0

從描述,你的意思是什麼不太清楚「選擇第一值作爲默認的地方,我希望出現在模型中的價值被選定」 。您將模型綁定到下拉列表中,因此您的下拉列表中填充了您所擁有的任何值。 – ankur

+0

好的..對不起,不清晰..我在我的代碼中將下拉列表枚舉到枚舉中。 Security.AccessType是枚舉而不是模型。所以每次加載頁面時都會顯示下拉列表的選定值,作爲第一枚枚舉 – Gautam

+0

好吧。因此,下拉列表顯示了按照綁定所做的第一個值。所以如果你想要顯示模型的值,你必須綁定模型而不是枚舉。 – ankur

回答

0

我用followig並得到結果..

$( '#ddlAccessType')VAL($( 「#ddlAccessType選項:包含('」 + $('#AccessTypeValue ').val()+「')」)。val());

這是首先獲取AccessType值,然後在下拉列表中檢查其索引,然後將所選索引設置爲發現的索引。

有點的bizzare,但工作得很好,我..

0

你可以給你想成爲默認情況下,「選擇」屬性,如選項:

<option value="apple" selected="selected">apple</option> 

如果要動態地選擇一個選項,您可以通過JavaScript的做到這一點。例如:

var el = document.getElementById("AccessType"); 
el.selectedIndex = yourIndex; //index of the option you want to select 
//or 
el.value = "yourValue"; //value of the option you want to select 
+0

我不行。因爲我只會在運行時才知道這個值。 – Gautam

+0

你是說你需要在列表生成後選擇一個選項?如果這是您的條件,您可以通過javascript選擇一個選項。例如:var el = document.getElementById(「AccessType」); el.selectedIndex = yourIndex;或el.value =「yourValue」; – dencey