отключен строго типизированный флажок не установлен - PullRequest
1 голос
/ 07 июля 2011

Я пытаюсь опубликовать значение отключенного флажка в приложении asp.net mvc 2? значение 'test' для сообщения является ложным, но должно быть истинным?

 public ActionResult Index()
    {
        MyModel model = new MyModel();
        model.flag = true;

        return View(model);
    }

    [HttpPost]
    public ActionResult Index(MyModel model)
    {
        var test = model.flag;

        return View();
    }

 <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<jqscriptfileseperate.Models.MyModel>" %>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>
 Index</h2>
<% using (Html.BeginForm("Index", "Home"))
   {%>
<%: Html.ValidationSummary(true) %>
<fieldset>
    <legend>Fields</legend>
    <div class="editor-label">
        <%: Html.LabelFor(model => model.flag) %>
    </div>
    <div class="editor-field">
        <%--   <%: Html.TextBoxFor(model => model.flag) %>--%>
        <%:Html.CheckBoxFor(model => model.flag, new {disabled="disabled" })%>
    </div>
</fieldset>
<button type="submit">
    Save</button>
<% } %>
</asp:Content>


  public class MyModel
{
    public bool flag { get; set; }
}

Ответы [ 3 ]

3 голосов
/ 07 июля 2011

отключенные входы исключаются из отправляемых форм согласно спецификации .изменение его на readonly должно дать желаемое поведение.

1 голос
/ 14 ноября 2012

Я обнаружил, что лучший способ справиться с этим - установить фиктивный отключенный флажок и скрытое поле, привязанное к модели:

@Html.CheckBox("dummy", new {disabled = "disabled", Checked="true"})
@Html.HiddenFor(model => model.IsCollection)

Таким образом, флажок будет серым и значение по-прежнему отправляется обратно.

0 голосов
/ 12 марта 2013

На самом деле этот работает лучше

<input type="checkbox" onclick="return false" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...