Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 2 在选择列表中设置默认值_Asp.net Mvc 2_Selectlist - Fatal编程技术网

Asp.net mvc 2 在选择列表中设置默认值

Asp.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

我有下面的类和编辑器模板,用于为各种货币创建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.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() %>