Asp.net mvc 2 在选择列表中设置默认值
我有下面的类和编辑器模板,用于为各种货币创建dropdownlistAsp.net mvc 2 在选择列表中设置默认值,asp.net-mvc-2,selectlist,Asp.net Mvc 2,Selectlist,我有下面的类和编辑器模板,用于为各种货币创建dropdownlist public class Currency { public string CurrencyId { get; set; } public string CurrencyName { get; set; } } <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<List<morkyc.Core.Model.C
public class Currency
{
public string CurrencyId { get; set; }
public string CurrencyName { get; set; }
}
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<List<morkyc.Core.Model.Currency>>" %>
<tr>
<td style="width:50%;">
<label class="fieldLabel">
Specify Currency :
</label>
</td>
<td>
<%= Html.DropDownListFor(model => model, new SelectList(Model, "CurrencyId", "CurrencyName", ))%>
</td>
</tr>
公共类货币
{
公共字符串CurrencyId{get;set;}
公共字符串CurrencyName{get;set;}
}
指定货币:
型号,新选择列表(型号,“CurrencyId”,“CurrencyName”,)%>
我在控制器中创建一个列表
List<Currency> lCurrencyList = new List<Currency>(new Currency[]
{
new Currency{CurrencyId = "AED", CurrencyName = "United Arab Emirates Dirham (AED)"},
new Currency{CurrencyId = "AFN", CurrencyName = "Afghan Afghani (AFN)"},
new Currency{CurrencyId = "ALL", CurrencyName = "Albanian Lek (ALL)"},
new Currency{CurrencyId = "AMD", CurrencyName = "Armenian Dram (AMD)"},
new Currency{CurrencyId = "ANG", CurrencyName = "Netherlands Antillean Guilder (ANG)"},
new Currency{CurrencyId = "AOA", CurrencyName = "Angolan Kwanza (AOA)"},
new Currency{CurrencyId = "ARS", CurrencyName = "Argentine Peso (ARS)"},
new Currency{CurrencyId = "AUD", CurrencyName = "Australian Dollar (AUD)"},
new Currency{CurrencyId = "AWG", CurrencyName = "Aruban Florin (AWG)"},
new Currency{CurrencyId = "AZN", CurrencyName = "Azerbaijani Manat (AZN)"},
new Currency{CurrencyId = "BAM", CurrencyName = "Bosnia-Herzegovina Convertible Mark (BAM)"},
new Currency{CurrencyId = "BBD", CurrencyName = "Barbados Dollar (BBD)"},
new Currency{CurrencyId = "BDT", CurrencyName = "Bangladeshi Taka (BDT)"},
new Currency{CurrencyId = "BGN", CurrencyName = "Bulgarian Lev (BGN)"},
new Currency{CurrencyId = "ZWD", CurrencyName = "Zimbabwe Dollar (ZWD)"}
});
List lCurrencyList=新列表(新货币[]
{
新货币{CurrencyId=“AED”,CurrencyName=“阿拉伯联合酋长国迪拉姆(AED)”,
新货币{CurrencyId=“AFN”,CurrencyName=“阿富汗阿富汗尼(AFN)”},
新货币{CurrencyId=“ALL”,CurrencyName=“阿尔巴尼亚列克(ALL)”,
新货币{CurrencyId=“AMD”,CurrencyName=“亚美尼亚德拉姆(AMD)”},
新货币{CurrencyId=“ANG”,CurrencyName=“荷兰安的列斯盾(ANG)”,
新货币{CurrencyId=“AOA”,CurrencyName=“安哥拉宽扎(AOA)”},
新货币{CurrencyId=“ARS”,CurrencyName=“阿根廷比索(ARS)”},
新货币{CurrencyId=“AUD”,CurrencyName=“澳元(AUD)”},
新货币{CurrencyId=“AWG”,CurrencyName=“阿鲁班·弗洛林(AWG)”},
新货币{CurrencyId=“AZN”,CurrencyName=“阿塞拜疆马纳特(AZN)”},
新货币{CurrencyId=“BAM”,CurrencyName=“波斯尼亚和黑塞哥维那可兑换马克(BAM)”},
新货币{CurrencyId=“BBD”,CurrencyName=“巴巴多斯美元(BBD)”},
新货币{CurrencyId=“BDT”,CurrencyName=“孟加拉塔卡(BDT)”},
新货币{CurrencyId=“BGN”,CurrencyName=“保加利亚列夫(BGN)”},
新货币{CurrencyId=“ZWD”,CurrencyName=“津巴布韦元(ZWD)”}
});
在我的视图中,我调用以下视图来创建dropdownlist
model.Currency)%%>
这很好用
有人能建议我如何设置默认的选定项目吗 您的编辑器模板是强类型的货币列表。另外,您正在将列表作为第一个参数传递给
DropDownListFor
帮助程序,这是不好的。您永远不会传递某些选定的值,因此在此编辑器模板中,您最好将该值设置为此列表的第一个元素(例如)
<%= Html.DropDownListFor(
model => model,
new SelectList(Model, "CurrencyId", "CurrencyName", "AED")
)%>
最后,在视图中调用自定义编辑器模板:
<%@ Control
Language="C#"
Inherits="System.Web.Mvc.ViewUserControl<CurrencyViewModel>" %>
<tr>
<td style="width:50%;">
<label class="fieldLabel">
Specify Currency :
</label>
</td>
<td>
<%= Html.DropDownListFor(
model => model.SelectedCurrency,
new SelectList(Model.Currencies, "Value", "Text")
)%>
</td>
</tr>
<%= Html.EditorForModel() %>
public ActionResult Foo()
{
var model = new CurrencyViewModel
{
// Define the selected value here
SelectedCurrency = "AED",
Currencies = new[]
{
new SelectListItem { Value = "AED", Text = "United Arab Emirates Dirham (AED)" },
new SelectListItem{ Value = "AFN", Text = "Afghan Afghani (AFN)"},
...
}
};
return View(model);
}
<%= Html.EditorForModel() %>