简体   繁体   中英

mvc3 dropdownlist setting the selected value from model

I am creating a select list in my .aspx page.

<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 />

Now every time I load the page it is selecting the first value as default, where as I want the value present in model to be the selected.

I am biniding the dropdown to a enum in my code. Security.AccessType is a enum and not a model. so every time the page loads it shows the selected value of the dropdown as first enum

I want the selected item to be say Model.AccessType...

I know its a very basic question but still any help?

You can give the option which you want to be default a "selected" attribute, like:

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

If you want to select an option dynamically, you can do it by javascript. Eg:

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

I used the followig and got the result..

$('#ddlAccessType').val($("#ddlAccessType option:contains('" + $('#AccessTypeValue').val() + "')").val());

This is first getting the AccessType value then checking for its index in the dropdown list and then setting the selected index to the index found out.

A bit bizzare, but worked fine for me..

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM