如何为dropdownlist设置分类name属性,区分关联的menu、tab、function类型
实现方法
你只需要增加3个自增计数器分别对应三类下拉框,同时修改原有select的id/name属性即可,完整修改后代码如下:
@{ // 声明三类下拉框的计数器,初始值为1 int menuSeq = 1; int tabSeq = 1; int funcSeq = 1; } <div class="card card-block bg-white"> <label for="permessimenu" class="col-sm-12">Menu</label> @foreach (var colMenu in ManageMenu.GetAll()) { <div class="col-sm-12"> <div class="col-sm-1"></div> <div class="col-sm-4" name="combo_m"><label>@colMenu.Description</label></div> <div class="col-sm-2"></div> <div class="col-sm-3"> <!-- 替换为menu类命名规则 --> <select class="form-control" style="overflow:auto;" id="combo_menu_@(menuSeq)" name="combo_menu_@(menuSeq)"> <option id="tipoUtente" value="0"><Permesso></option> @foreach (var menu in Permission.GetAll()) { <option value="@menu.Id">@menu.Description</option> } </select> @{ menuSeq++; } </div> <div class="col-sm-2"></div> </div> @foreach (var colTab in GestioneTab.Select(new WhereStatementBuilder() { { GestioneTab.Empty.IdMenu, Operator.Equals, colMenu.Id.Get() } })) { <div class="col-sm-12"> <div class="col-sm-2"></div> <div class="col-sm-4"> <label>@colTab.Description</label> </div> <div class="col-sm-1"></div> <div class="col-sm-3"> <!-- 替换为tab类命名规则 --> <select class="form-control" style="overflow:auto;" id="combo_tab_@(tabSeq)" name="combo_tab_@(tabSeq)"> <option id="tipoUtente" value="0"><Permesso></option> @foreach (var tab in Permission.GetAll()) { <option value="@tab.Id">@tab.Description</option> } </select> @{ tabSeq++; } </div> <div class="col-sm-2"></div> </div> @foreach (var colFunzioni in FuncPermission.Select(new WhereStatementBuilder() { { FuncPermission.Empty.IdTab, Operator.Equals, colTab.Id.Get() } })) { <div class="col-sm-12"> <div class="col-sm-3"></div> <div class="col-sm-4"> <!-- 修正原有代码的变量名笔误 --> <label>@colFunzioni.Description</label> </div> <div class="col-sm-3"> <!-- 替换为function类命名规则 --> <select class="form-control" style="overflow:auto;" id="combo_func_@(funcSeq)" name="combo_func_@(funcSeq)"> <option id="userType" value="0"><Permesso></option> @foreach (var user in Permission.GetAll()) { <option value="@user.Id">@user.Description</option> } </select> @{ funcSeq++; } </div> <div class="col-sm-2"></div> </div> } } }
可选优化
如果你希望命名的序号不随列表排序变化、稳定性更高,可以直接用对应实体的ID代替自增计数器,比如combo_menu_@colMenu.Id,无需维护计数变量也能保证全局唯一。
内容的提问来源于stack exchange,提问作者Rufy04
相关产品推荐
相关产品推荐

