gpt4 book ai didi

asp.net-mvc-4 - 如何禁用 TextAreaFor?

转载 作者:行者123 更新时间:2023-12-04 00:11:04 24 4
gpt4 key购买 nike

如何在 mvc 中禁用文本。我正在使用 mvc 4.0。下面是我的代码,我想有条件地表示如果 m.Changes 值长度 > 0 那么它应该被禁用,否则它被启用。这怎么可能?

@Html.TextAreaFor(m => m.Changes , new { style = " width:97%; height:50px;", tabindex = 5 }) 

最佳答案

条件禁用只能通过使用 JavaScript 实现。首先,你需要设置一个id:

@Html.TextAreaFor(m => m.Changes , new { style = " width:97%; height:50px;", tabindex = 5, id = "someId" }) 

假设您使用 jQuery:

$('#someId').on('keyUp', function() {
var text = $('#someId').val();
if (text.length > 0)
$('#someId').attr('disabled','disabled');
});

但是,我想指出的是,当内容的长度大于零时禁用某些文本框,也就是说,它有任何内容,只是没有意义,因为禁用它将阻止您再次修改它(除非有一些逻辑可以根据某些条件以编程方式重新启用它)。

如果您的目标是在服务器上 值的长度大于零时禁用该控件(即,Changes 属性具有非空且模型中的非空值),那么你可以这样做:

@if (Model.Changes.Length > 0) {
@Html.TextAreaFor(m => m.Changes , new { style = " width:97%; height:50px;", tabindex = 5, id = "someId", disabled = "disabled" })
} else {
@Html.TextAreaFor(m => m.Changes , new { style = " width:97%; height:50px;", tabindex = 5, id = "someId" })
}

如果您需要根据客户端条件禁用它,那么您无法避免编写脚本来执行此操作。

关于asp.net-mvc-4 - 如何禁用 TextAreaFor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35268405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com