2012-12-14 54 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