![](/img/trans.png)
[英]How to select the default value from a dropdownlist when using asp.net mvc?
[英]ASP.NET MVC - Set default value for static Select (dropdownlist)
我在視圖中使用常規html下拉列表(選擇)。 出於某種原因,我不想使用Html.DropdownlistFor。 現在我可以在Controller類中獲取所選值。 如何將選定的值分配回視圖?
<select name='ddlLocation' id='ddlLocation'>
<option value="">All </option>
<option selected="selected" value="1">City1</option>
<option value="2">City2</option>
<optgroup label="Group">
<option value="3">City2</option>
<option value="4">City3</option>
<option value="5">City4</option>
</optgroup>
</select>
那么你去,你已經使用selected
屬性完成了它:
<option selected="selected" value="1">City1</option>
您應該將所選屬性放在要預選的值上。
我想現在你意識到你不使用Html.DropDownListFor幫助器的瘋狂,它會自動為你處理。 因為現在你必須把@if else stataments轉換成意大利面條代碼才能達到理想的行為。 但我想你已經有了不使用助手的理由。
更新:
從您的評論看來,您不使用DropDownList幫助程序的原因似乎是因為它不支持optgroup
。 這是真的,也是一個很好的理由。 但是編寫一個custom helper
是微不足道的,並且可以通過if / else語句預先設置默認值來避免使用spaghettifying你的視圖。
沒有太多干凈的方法可以解決這個問題,但假設您有某種類型的模型綁定到此頁面,您可以在頁面加載后立即根據模型值設置下拉列表的選定值:
<script type="text/javascript">
(function($) {
$(document).ready(function() {
var locationToSet = "@Model.LocationToSet";
$('#ddlLocation option[value="' + locationToSet + '"]').prop('selected', true);});
})(jQuery);
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.