如何覆蓋HTML選擇下拉列表的ID和名稱屬性?如何覆蓋選擇下拉列表的名稱和ID屬性
我在我的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>
我看到它使雙方的名字和id屬性等於CountryId。我喜歡使用更多描述性名稱作爲我的標記,像國家。而且我還希望讓我的名稱和ID屬性具有相同的描述/名稱。所以,我試過如下:從代碼
@Html.DropDownListFor(
m => m.CountryId,
new SelectList(Model.Countries, "Id", "Name", Model.CountryId),
"-- Select --",
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屬性更改爲國家和名字在CountryId剩下什麼?
'@ Html.DropDownListFor'用於您的視圖模型也將用作表單提交模型的概念,在這種情況下,您可以使用視圖模型使用表單發佈。在你的情況下,如果你只是想自定義表單發佈變量,使用'@ Html.DropDownList(「名稱」,新的SelectList(...),新的{id =「id」})' – tweray