Html.DropDownListFor によって生成された HTML 名を変更できますか? 質問する

Html.DropDownListFor によって生成された HTML 名を変更できますか? 質問する

IDI では、ドロップダウン リストを作成するために次のコードを使用しています。

 @for (var index = 0; index < Model.AdminSummaries.Count(); index++) 
            { 
            <div class="rep_tr0"> 
                <div class="rep_td0"> 
                    @Html.DropDownListFor(x => Model.AdminSummaries[index].Status, AdminStatusReference.GetAdminStatusOptions()) 
                </div> 

コードは以下を作成します。

<select id="AdminSummaries_2__Status" name="AdminSummaries[2].Status">
   <option value="1">Released</option>
   <option value="2">Review</option>
   <option value="3">New</option>
</select> 
<select id="AdminSummaries_3__Status" name="AdminSummaries[3].Status">
   <option value="1">Released</option>
   <option value="2">Review</option>
   <option value="3">New</option>
</select> 

これを変更して、ID「Status_2」、「Status_3」など

ベストアンサー1

@Anar がコメントで述べたように;

実際には、id と同じ方法で name 属性を変更できますが、「name」の代わりに「Name」を使用します。驚いたことに、うまくいきます。

 @Html.DropDownListFor(x => Model.AdminSummaries[index].Status, 
AdminStatusReference.GetAdminStatusOptions(), 
new { id = string.Format("Status_{0}",index ), Name = "GiveName" });

おすすめ記事