检查某些属性是否有值

时间:2014-05-04 12:36:15

标签: javascript jquery asp.net asp.net-mvc asp.net-mvc-4

我正在使用以下代码,该代码按预期工作。 我有两个文本框,根据下拉值( SelType )进行更改 我添加了最后两行代码,当用户首先运行页面时 文本框将被禁用的时间 我的问题:有没有选项来检查模型中的某些东西(任何属性)是否有值然后执行此代码(最后两行)?

 $(document).ready(function () {
        $('select[name="SelType"]').change(function () {

            if ($(this).val() === 'A') {

                $('input[name="Emp.User"]').prop("disabled", true);
                $('input[name="Emp.Password"]').prop("disabled", true);

            }

            else {
                $('input[name="Emp.User"]').prop("disabled", false);
                $('input[name="Emp.Password"]').prop("disabled", false);

            }

        });
//Added code for the init page
        $('input[name="Emp.User"]').prop("disabled", true);
        $('input[name="Emp.Password"]').prop("disabled", true);

2 个答案:

答案 0 :(得分:1)

就这样做:

if(@Model.Condition == true)
{
    $('input[name="Emp.User"]').prop("disabled", true);
    $('input[name="Emp.Password"]').prop("disabled", true);
}

如果脚本位于单独的文件中,只需将所需值存储在页面上的隐藏字段中:

@{
    bool isConditionPropertyNotNull = Model.Text != null;
}
@Html.Hidden("IsConditionPropertyNotNull", isConditionPropertyNotNull)

然后从脚本中引用它:

if ($('input[name="IsConditionPropertyNotNull"]').val() == "True") {

}

答案 1 :(得分:1)

您可以使用以下内容:

    @Html.TextBoxFor(m=>m.User, new {disabled="disabled"})

关于模型内部,我不确定是否已经看过它。但是你看了DataAnnotation的清单 在您的情况下,您可以创建自定义。

对于密码,您可以使用一个注释:

 @Html.PasswordFor()