如何覆盖
HTML选择下拉列表的id和name属性?
我的HTML中有以下标记来生成选择下拉列表:
@Html.DropDownListFor( m => m.CountryId,new SelectList(Model.Countries,"Id","Name",Model.CountryId),"-- Select --",new { @class = "form-control" } )
上面代码的输出如下所示:
<select name="CountryId" id="CountryId" data-val-required="Country is required" data-val-number="The field CountryId must be a number." data-val="true" class="form-control"> <option value="">-- Select --</option> <option value="1">Country 1</option> <option value="2">Country 2</option> <option value="3">Country 3</option> <option value="4">Country 4</option> </select>
我看到它使name和id属性都等于CountryId.我喜欢我的标记更具描述性的名称,比如国家.而且我也希望我的名字和id属性具有相同的描述/名称.所以我尝试了以下方法:
@Html.DropDownListFor( m => m.CountryId,new { id = "Countries",name = "Countries",@class = "form-control" } )
上面代码的输出如下所示:
<select name="CountryId" id="Countries" data-val-required="Country is required" data-val-number="The field CountryId must be a number." data-val="true" class="form-control"> <option value="">-- Select --</option> <option value="1">Country 1</option> <option value="2">Country 2</option> <option value="3">Country 3</option> <option value="4">Country 4</option> </select>
为什么只有id属性更改为Countries并且名称保留在CountryId?
解决方法
情况就是这样,因为该属性需要大写(名称):
@Html.DropDownListFor( m => m.CountryId,Name = "Countries",@class = "form-control" } )
这是一个类似问题的answer,引用了“Name”需要在评论中大写.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。