如何基于ASP.NET MVC中的复选框选中属性禁用输入字段?

时间:2016-10-25 11:40:30

标签: c# asp.net-mvc razor

我有一个属性OriginalCreated的日期字段,如果用户选中一个复选框,指示该帖子是第一次发布,我想禁用它。我可以在不使用JavaScript或jQuery的情况下实现这一目标(并且不会回发!)?

我遵循了这个answer但它没有与我合作,我尝试了最简单的格式(用于测试)而没有传递任何参数,只有truefalse

<div class="form-group">
            @Html.LabelFor(model => model.Body, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.MyTextBoxFor(model => model.Body, new { @class = "form-control"}, true)
                @Html.ValidationMessageFor(model => model.Body, "", new { @class = "text-danger" })
            </div>
        </div>

我在上述答案中实现了同一个类, 并尝试了这个:

public static IHtmlString MyTextBoxFor<TModel,TProperty>(
            this HtmlHelper<TModel> htmlHelper,
            Expression<Func<TModel,TProperty>> expression,
            object htmlAttributes,
            bool disabled
            )
        {
            var attributes = new RouteValueDictionary(htmlAttributes);
            if (disabled)
            {
                attributes.Add("disabled", "\"disabled\"");
            }
            return htmlHelper.TextBoxFor(expression, htmlAttributes);
        }

0 个答案:

没有答案