Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.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
C# mvc3 Html.DropDownListFor-在_C#_Html_Asp.net Mvc_Asp.net Mvc 3 - Fatal编程技术网

C# mvc3 Html.DropDownListFor-在

C# mvc3 Html.DropDownListFor-在,c#,html,asp.net-mvc,asp.net-mvc-3,C#,Html,Asp.net Mvc,Asp.net Mvc 3,我试图使用HTML.DropDownListFor动态生成标记的value属性,但遇到了一些问题。我正在考虑硬编码for循环和插入原始HTML,但我肯定有一种更简单的方法可以做到这一点 我有一个视图模型: public class DSDCustomerViewModel { public IEnumerable<dsd_l_chain> chainBuild { get; set; } public strin

我试图使用HTML.DropDownListFor动态生成标记的value属性,但遇到了一些问题。我正在考虑硬编码for循环和插入原始HTML,但我肯定有一种更简单的方法可以做到这一点

我有一个视图模型:

    public class DSDCustomerViewModel
        {
            public IEnumerable<dsd_l_chain> chainBuild { get; set; }
            public string Id_dsd { get; set; }
            public string Owner { get; set; }
            public IEnumerable<string> WFCategory { get; set; }
            public IEnumerable<string> TransactionType { get; set; } 
[etc etc etc]
…以便生成的HTML代码将标记的value属性设置为cc_chainName.ID?因此,生成的HTML如下所示:

<select id="cc_chainName" name="cc_chainName"><option value="">Select ...</option>
<option value="1">1ST STOP</option>
<option value="2">3 RIVERS ICE CREAM SPCLTS</option>
<option value="3">3RIVERS SALES TO NON-NAP CUSTS</option>
@Html.DropDownList("myDropDown", new SelectList(Model, "ProductName", "ProductName"), "-- Select item --")
注意:值标记包含来自cc_chainName模型的ID

谢谢

每个SelectList都在构造函数中使用dataValueField和dataTextField属性:

@Html.DropDownListFor(model => model.cc_chainName, 
                     new SelectList(Model.cc_chainName, 
                                    "ID", "TextualPropertyNameHere"), "Select ...")
                            //      ^^ id property and text property here
您没有提供文本属性名称。。因此,上述假设的模型与此类似:

class cc_chainName {
    public int ID { get; set; }
    public string TextualPropertyNameHere { get; set; }
}
编辑:

回应你的评论

以这种模式为例:

public class Product {
    public int Id { get; set; }
    public string ProductName { get; set; }
}
将其设置为视图中的可枚举项:

@model IEnumerable<YourApplication.Models.Product>
生成以下标记:

<select id="myDropDown" name="myDropDown">
    <option value="">-- Select item --</option>
    <option value="1">Lollies</option>
    <option value="2">Beer</option>
    <option value="3">Funny Hat</option>
</select>
产生:

<select id="myDropDown" name="myDropDown">
    <option value="">-- Select item --</option>
    <option value="Lollies">Lollies</option>
    <option value="Beer">Beer</option>
    <option value="Funny Hat">Funny Hat</option>
</select>
每个SelectList都采用构造函数中的dataValueField和dataTextField属性:

@Html.DropDownListFor(model => model.cc_chainName, 
                     new SelectList(Model.cc_chainName, 
                                    "ID", "TextualPropertyNameHere"), "Select ...")
                            //      ^^ id property and text property here
您没有提供文本属性名称。。因此,上述假设的模型与此类似:

class cc_chainName {
    public int ID { get; set; }
    public string TextualPropertyNameHere { get; set; }
}
编辑:

回应你的评论

以这种模式为例:

public class Product {
    public int Id { get; set; }
    public string ProductName { get; set; }
}
将其设置为视图中的可枚举项:

@model IEnumerable<YourApplication.Models.Product>
生成以下标记:

<select id="myDropDown" name="myDropDown">
    <option value="">-- Select item --</option>
    <option value="1">Lollies</option>
    <option value="2">Beer</option>
    <option value="3">Funny Hat</option>
</select>
产生:

<select id="myDropDown" name="myDropDown">
    <option value="">-- Select item --</option>
    <option value="Lollies">Lollies</option>
    <option value="Beer">Beer</option>
    <option value="Funny Hat">Funny Hat</option>
</select>

如何考虑不同的期权要素?我有一个DropDownList,其中包含数据库中的一些重复元素。我似乎只能获得值属性或不同的元素

以下是我的代码:

@Html.DropDownList("ResidentialBuilding", new SelectList(Model.Select(x => x.type).Distinct()))

如何考虑不同的期权要素?我有一个DropDownList,其中包含数据库中的一些重复元素。我似乎只能获得值属性或不同的元素

以下是我的代码:

@Html.DropDownList("ResidentialBuilding", new SelectList(Model.Select(x => x.type).Distinct()))

我仍然得到没有标签的标签。也许我应该换一种更简单的说法:如果我想发布类似这样的HTML:1ST STOP 3 RIVERS冰激凌SPCLTS???更新了我的答案,以便更好地向您展示它的工作原理。希望能帮上忙。我还是会收到没有标签的标签。也许我应该换一种更简单的说法:如果我想发布类似这样的HTML:1ST STOP 3 RIVERS冰激凌SPCLTS???更新了我的答案,以便更好地向您展示它的工作原理。希望有帮助。