我正在使用以下代码,该代码按预期工作。 我有两个文本框,根据下拉值( 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);
答案 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()