Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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# 如何将自定义属性添加到Html.DropDownListFor option value而不是select value_C#_Html_Asp.net_Asp.net Mvc - Fatal编程技术网

C# 如何将自定义属性添加到Html.DropDownListFor option value而不是select value

C# 如何将自定义属性添加到Html.DropDownListFor option value而不是select value,c#,html,asp.net,asp.net-mvc,C#,Html,Asp.net,Asp.net Mvc,上面的代码超出了下面的代码行 @Html.DropDownListFor(m => m.ProductId, new SelectList(Model.Products, "Id", "ProductName", Model.ProductId), htmlAttributes: new { @class = "form-control", @id = "productsnew" }) 澳元 美元 NPR 印度卢比 我需要这样的输出 <select name="Selected

上面的代码超出了下面的代码行

@Html.DropDownListFor(m => m.ProductId, new SelectList(Model.Products, "Id", "ProductName", Model.ProductId), htmlAttributes: new { @class = "form-control", @id = "productsnew" })

澳元
美元
NPR
印度卢比
我需要这样的输出

<select name="SelectedCurrency" id="defaultTaxId" class="form-control"> 
       <option value="AUD">AUD</option>
       <option value="USD" selected="selected">USD</option>
       <option value="NPR">NPR</option>
       <option value="INR">INR</option>
    </select>

选择。。。
铬
火狐
即
歌剧院
游猎

我怎样才能做到这一点。请告诉我最简单的方法是:

我回答了这个问题:

并做了一些修改

<select title="Select your surfboard" class="selectpicker">
  <option>Select...</option>
  <option data-thumbnail="images/icon-chrome.png">Chrome</option>
  <option data-thumbnail="images/icon-firefox.png">Firefox</option>
  <option data-thumbnail="images/icon-ie.png">IE</option>
  <option data-thumbnail="images/icon-opera.png">Opera</option>
  <option data-thumbnail="images/icon-safari.png">Safari</option>
</select>

--挑选--
@foreach(Model.Clients中的var客户端)
{
@if(client.Id==Model.ClientId)//在编辑模式下选择项
{
@客户名称
}
其他的
{
@客户名称
}
}
我添加这个javascript是为了在更改时用新的属性值绑定一个div

                <select name="@Html.NameFor(model => model.ClientId)"
                        id="@Html.NameFor(model => model.ClientId)"
                        class="form-control selectpicker">
                    <option value="">-- Select --</option>
                    @foreach (var client in Model.Clients)
                    {
                        @if (client.Id == Model.ClientId) //to select the item in edit mode
                        {
                            <option selected
                                    value="@client.Id"
                                    email="@client.Email">
                                @client.Name
                                </option>
                            }
                            else
                            {

                                <option value="@client.Id"
                                        email="@client.Email">
                                    @client.Name
                                </option>
                            }
                    }
                </select>

$(文档).ready(函数(){
$('.selectpicker')。打开('change',函数(e){
$(“#emailClient”).text($('option:selected',this).attr('email');//将电子邮件地址加载到id为'emailClient'的div中
});
$(“#emailClient”).text($('option:selected',$('selectpicker')).attr('email'));//以编辑模式绑定
});

您可以在asp.net mvc中构建一个自定义Html帮助程序来实现这一点。您想在选项标记上添加数据缩略图属性吗?我建议您使用带有
MvcHtmlString
的自定义html帮助程序构建,如以下问题:。
<script>
    $(document).ready(function () {
        $('.selectpicker').on('change', function (e) {
            $("#emailClient").text($('option:selected', this).attr('email')); //load the email address in a div with id 'emailClient'
        });

        $("#emailClient").text($('option:selected', $('.selectpicker')).attr('email')); //To bind in edit mode
    });
</script>