2010-02-02 2 views
1

У меня есть страница просмотра ASP.NET MVC с флажком (активна) и кнопкой (Активировать).включить/отключить флажок и кнопку на основе значения из базы данных на странице ASP.NET MVC View?

Вот нечто я хочу сделать:

  1. Если значение из базы данных Правда, Флажок должен быть проверен и Enabled и поэтому кнопка также должна быть включена.

  2. Else Если значение из базы данных False, то chekbox не должен быть проверен и отключен. И поэтому кнопка должна быть отключена.

Вот View Code:

<% using (Html.BeginForm("ActivateUser", "Home", FormMethod.Post, new { id = "frmActivate" })) 
    {%> 
      <%= Html.Hidden("pwdEmail")%> 
      <input type="hidden" id="isLocked" value="<%= ViewData["isLocked"]%>" /> 
      <table><tbody> 
       <tr><td class="Form_Label"><label for="chkActive">Active</label></td> 
       <td><%= Html.CheckBox("chkActive", false)%></td> <td><input type="submit" value="Activate" disabled="disabled" /></td></tr> 
      </tbody></table> 
<% } %> 

Цените ваши ответы.

Благодаря

+0

Вы хотите контроллер и код хранилища? – Gregoire

ответ

1

Вы могли бы попытаться расширить HtmlHelper с методом, как это:

public static string CheckBox(this HtmlHelper htmlHelper, string name, bool checked, bool enabled) 
    { 
     TagBuilder builder = new TagBuilder("input"); 

     builder.Attributes.Add("type", "checkbox"); 
     builder.Attributes.Add("name", name); 
     builder.Attributes.Add("id", name); 

     if (checked) 
      builder.Attributes.Add("checked", "checked"); 

     if (disabled) 
      builder.Attributes.Add("disabled", "disabled"); 

     return builder.ToString(); 
    } 

Тогда вы можете назвать этот метод расширения на вашем MVC Page

+0

Я должен упомянуть, что из опыта, отключение любого элемента управления не является хорошим способом проверки или обеспечения безопасности страницы. Большинство браузеров позволяют редактировать html, и кто-то может легко удалить атрибут «disabled» и отправить. – hunter

+0

Yup. Вы правы, Охотник. Это только внутреннее приложение. Я собираюсь сейчас попробовать и обновить вас. – Rita

+0

Это не работает для меня. Мне нужна эта логика из функции JQuery. – Rita

Смежные вопросы