Радиокнопки для отображения данных в приложении MVC - PullRequest
1 голос
/ 14 декабря 2009

Я ищу лучший способ использовать RadioButton в форме, содержащейся в представлении MVC, для отображения данных. Одним из примеров, с которым я сейчас работаю, является отображение роли, к которой принадлежит членство пользователя.

Что я делаю, так это задаю значения для строковых переменных для вывода в моих входных тегах, которые будут устанавливать RadioButton как проверенный, где это необходимо. Как видно из приведенного ниже кода, это очень уродливый хак.

Можете ли вы предложить лучший способ представления этих данных?

 <%

string User = string.Empty;
if (Roles.IsUserInRole(Model.UserName, "User"))
{
User = "checked='checked'";
}
string Priviliged = string.Empty;
if (Roles.IsUserInRole(Model.UserName, "Privileged"))
{
Priviliged = "checked='checked'";
User = string.Empty;
}
string Admin = string.Empty;
if (Roles.IsUserInRole(Model.UserName, "Admin"))
{
Admin = "checked='checked'";
Priviliged = string.Empty;
}
string SuperAdmin = string.Empty;
if (Roles.IsUserInRole(Model.UserName, "SuperAdmin"))
{
SuperAdmin = "checked='checked'";
Admin = string.Empty;
}

%>

<input type="radio" name="Permission" id="Permission" value="SuperAdmin" <%=SuperAdmin %> />SuperAdmin
<input type="radio" name="Permission" id="Permission" value="Admin" <%=Admin %> />Admin
<input type="radio" name="Permission" id="Permission" value="Privileged" <%=Priviliged %> />Privileged
<input type="radio" name="Permission" id="Permission" value="User" <%=User %> />User

Ответы [ 2 ]

2 голосов
/ 14 декабря 2009

Может быть, вы можете попробовать использовать помощник HMTL, например:

<%=Html.RadioButton("Permission", "SuperAdmin", Roles.IsUserInRole(Model.UserName, "SuperAdmin"))%>
<%=Html.RadioButton("Permission", "Admin", Roles.IsUserInRole(Model.UserName, "Admin"))%>
<%=Html.RadioButton("Permission", "Privileged", Roles.IsUserInRole(Model.UserName, "Privileged"))%>
<%=Html.RadioButton("Permission", "User", Roles.IsUserInRole(Model.UserName, "User"))%>
1 голос
/ 14 декабря 2009

Я бы предпочел тег

<select id="permissions" name="permissions" size="4" multiple="multiple">
   <option value="SuperAdmin">Super Admin</option
   ....
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...