我可以更改Html.DropDownListFor生成的HTML的名字吗? [英] Can I change the html name generated by Html.DropDownListFor?

查看:143
本文介绍了我可以更改Html.DropDownListFor生成的HTML的名字吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

IDI现在用下面的code创建一个下拉列表:

  @for(VAR指数= 0;指数 -  LT; Model.AdminSummaries.Count();指数++)
            {
            < D​​IV CLASS =rep_tr0>
                < D​​IV CLASS =rep_td0>
                    @ Html.DropDownListFor(X => Model.AdminSummaries [指数] .STATUS,AdminStatusReference.GetAdminStatusOptions())
                < / DIV>

在code创建以下内容:

 <选择一个id =AdminSummaries_2__StatusNAME =AdminSummaries [2] .STATUS>
   <期权价值=1>发布< /选项>
   <期权价值=2>回顾与LT; /选项>
   <期权价值=3>全新< /选项>
< /选择>
<选择一个id =AdminSummaries_3__StatusNAME =AdminSummaries [3] .STATUS>
   <期权价值=1>发布< /选项>
   <期权价值=2>回顾与LT; /选项>
   <期权价值=3>全新< /选项>
< /选择>

有什么办法使之产生Status_2的 ID ,我可以改变它,Status_3等。


解决方案

像@Anar在评论中说,


  

其实,你可以更改名称属性以同样的方式为ID,但不是名,用名。令人惊讶它的工作原理。


  @ Html.DropDownListFor(X => Model.AdminSummaries [指数] .STATUS,
AdminStatusReference.GetAdminStatusOptions(),
新{ID =的String.Format(STATUS_ {0}指数),名称=GiveName});

IDI am using the following code to create a drop down list:

 @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> 

The code creates the following:

<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> 

Is there any way that I could change it so that it creates a ID of "Status_2", "Status_3" etc.

解决方案

Like @Anar said in the comments;

Actually, you can change the name attribute the same way as id, but instead of "name", use "Name". Surprisingly it works.

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

这篇关于我可以更改Html.DropDownListFor生成的HTML的名字吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆