Javascript C#asp.net mvc设置CheckBoxFor checked属性(具有模型值)

Javascript C#asp.net mvc设置CheckBoxFor checked属性(具有模型值),javascript,c#,asp.net,asp.net-mvc,checkbox,Javascript,C#,Asp.net,Asp.net Mvc,Checkbox,在我的表单中,我有一个复选框,当我单击复选框时,一个文本框被启用。 当我提交表单时,我得到了两个值(复选框和文本框)和站点刷新,刷新后复选框被选中,但文本框被禁用,但具有最后一个插入值 如果我再次提交而不做任何事情,文本框将返回null,而不是最后一个插入值 我希望复选框从我的模型中获取值,并更改textbox disabled属性的行为。如果没有新值将被插入,则它应返回最后一个插入值 当我将model属性设置为false时,复选框也被选中。 有人知道我能做什么吗 视图: JavaScript:

在我的表单中,我有一个复选框,当我单击复选框时,一个文本框被启用。 当我提交表单时,我得到了两个值(复选框和文本框)和站点刷新,刷新后复选框被选中,但文本框被禁用,但具有最后一个插入值

如果我再次提交而不做任何事情,文本框将返回null,而不是最后一个插入值

我希望复选框从我的模型中获取值,并更改textbox disabled属性的行为。如果没有新值将被插入,则它应返回最后一个插入值

当我将model属性设置为false时,复选框也被选中。 有人知道我能做什么吗

视图:

JavaScript:

 $("#OrgNameChecked").click(function () {

            $('#OrganisatioName').attr("disabled", $(this).is(':unchecked'));
        });
型号:

public bool FilterOrgNameIsCheckedValue { get; set; }
控制器(提交调用的函数):

公共行动结果索引(AdminOrganizationModel m) { AdminOrganizationModel=新的AdminOrganizationModel(); if(TempData[“model”!=null) { m=(AdminOrganizationModel)TempData[“model”]; } if(m.FilterModel==null) { m、 FilterModel=新的AdminOrganizationFilterModel(); } 模型=m; OrganizationBusinessObject OrganizationBusinessObject=新的OrganizationBusinessObject(DbContext); var organizations=DbContext.getAllentiesQueryable(); 组织=过滤器组织(组织,模型); 草签审查员(1); AdminOrganizationModelBuilder modelBuilder=新建AdminOrganizationModelBuilder(); IList

简单解决方案;)

我在视图中添加了一个简单的if语句:

<div class="col-sm-2">
@if (Model.FilterModel.FilterOrgNameIsCheckedValue)
{
    @Html.TextBoxFor(m => m.FilterModel.FilterOrgNameValue, new { @class = "form-control", @id = "OrganisatioName"})
}
else
{
    @Html.TextBoxFor(m => m.FilterModel.FilterOrgNameValue, new { @class = "form-control", @id = "OrganisatioName", @disabled = "disabled" })
}
 </div>

@if(Model.FilterModel.FilterOrgNameIsCheckedValue)
{
@Html.TextBoxFor(m=>m.FilterModel.FilterOrgNameValue,新的{@class=“form control”,@id=“organizationame”})
}
其他的
{
@Html.TextBoxFor(m=>m.FilterModel.FilterOrgNameValue,新的{@class=“form control”、@id=“organizationame”、@disabled=“disabled”})
}

我想这不是最好的方法,但它很有效=)

不要试图设置
checked
属性。
checked属性是根据
FilterModel.FilterOrgNameIsCheckedValue的值自动设置的。如果它的
为true
,那么它将被选中,否则它将被取消选中。并生成
checked=“checked”
checked=“unchecked”
完全相同-都将复选框设置为选中(除了“
checked=“unchecked”
是无效的html)谢谢,但是文本框在刷新后会被禁用,因为加载页面时需要运行脚本(或者添加一个条件属性以基于
FilterModel.FilterOrgNameIsCheckedValue
的值禁用文本框。好的,我可以怎么做?你做的很好(尽管你也可以对文本框使用条件属性(请参阅或javascript-
$('#OrganizationName.)的第一个代码段)('disabled',!$('orgname checked')。is(':checked');
Cool=)非常感谢您的帮助=)
public ActionResult Index(AdminOrganizationModel m)
        {
            AdminOrganizationModel model = new AdminOrganizationModel();
            if(TempData["model"] != null)
            {
                m = (AdminOrganizationModel)TempData["model"];
            }
            if(m.FilterModel == null)
            {
                m.FilterModel = new AdminOrganizationFilterModel();
            }
            model = m;
            OrganizationBusinessObject organizationBusinessObject = new OrganizationBusinessObject(DbContext);
            var organizations = DbContext.GetAllEntitiesQueryable<Organization>();
            organizations = FilterOrganizations(organizations, model); 
            InitializeLicenseList(1);
            AdminOrganizationModelBuilder modelBuilder = new AdminOrganizationModelBuilder();
            IList<AdminOrganizationModel> organizationsModels = modelBuilder.GetModelCollection(organizations);
            model.Organizations = new AjaxGridFactory().CreateAjaxGrid(organizationsModels.AsQueryable(), 1, false, 10) as AjaxGrid<AdminOrganizationModel>;

            return View(model);
        }
<div class="col-sm-2">
@if (Model.FilterModel.FilterOrgNameIsCheckedValue)
{
    @Html.TextBoxFor(m => m.FilterModel.FilterOrgNameValue, new { @class = "form-control", @id = "OrganisatioName"})
}
else
{
    @Html.TextBoxFor(m => m.FilterModel.FilterOrgNameValue, new { @class = "form-control", @id = "OrganisatioName", @disabled = "disabled" })
}
 </div>