0

我陷入了一个奇怪的问题。

我的 MVC 视图中有一个复选框,它是从 jQuery 呈现的。

<div>
    <label for="check" class="chk">
        Del ?
    <input id="IsSoftDeleted" name="IsSoftDeleted" data-val-required="The Del? field is required." data-val="true" type="checkbox" class="check"  />
    </label>
</div>

该脚本的编写方式是选中和未选中的值是打开和关闭。

我在我的 bodel 活页夹中按如下方式处理了它:

protected override object CreateModel(ControllerContext controllerContext, ModelBindingContext bindingContext, Type modelType)
    {
        bool softDelete = Convert.ToBoolean(bindingContext.ValueProvider.GetValue("IsSoftDeleted").AttemptedValue != null
                  && bindingContext.ValueProvider.GetValue("IsSoftDeleted").AttemptedValue == "on" ? "true" : "false");


        return OrgFactory.Create(bindingContext.ValueProvider.GetValue("Caption").AttemptedValue,
            bindingContext.ValueProvider.GetValue("NameInUse").AttemptedValue,
            bindingContext.ValueProvider.GetValue("Description").AttemptedValue,
            softDelete, new Party());
    }

这工作正常,组织的 IsSoftDeleted 属性现在为真或假。

然而,由于我的模型类中的布尔值 IsSoftDeleted,ModelState 指的是尝试值,即 on 并且 ModelState 正在变为假。

我试图将值设置为 AttemptedValue 属性,但它无法访问。

有人可以建议我如何解决它吗?

4

1 回答 1

-3

冷静下来!!!我们目前在 jQuery 中处理它。

我想我们不能扩展 valueprovider 类,如果是的话,请给使用一些方法,我们该怎么做!

于 2013-06-26T11:43:21.477 回答