0

我需要检查控制器中表单字段的属性值,所以我有简单的文本框

现在我想检查我的控制器是否被禁用?任何人指导我如何实现这一目标?我在谷歌上搜索了很多,但我什么也没找到,formcollection 也没有提供任何东西。

任何帮助,将不胜感激。

4

2 回答 2

0

我认为您不想检查文本框本身是否已禁用。如果用户选择它,您可以使用一个复选框和一行 javascript 来禁用该复选框。然后在您的控制器中,您可以检查您从复选框收到的布尔值是否为真。

public ActionResult SomeController (bool IsChecked)
{
    if(isChecked){
       //Do something
    }
    return //something
 }

 if ($('#checkbox1').is(':checked')) {
      $("#textbox1").attr("disabled", "disabled");
 }
于 2013-04-05T14:21:47.260 回答
0

控制器只能访问表单集合中包含的值,并且文本框属性不会随请求一起传递(value属性除外)。

您可以添加一个隐藏字段来跟踪此类数据。隐藏字段将随请求一起传递,并且可以包含您想要的任何内容。要填充该字段,您很可能会使用 JavaScript,但如果您在呈现视图时知道元素的属性,也可以在服务器端设置值。

或者,也许您可​​以查看更改的原因。例如,如果选择 a 中的某个选项<select>导致更改,您可以查看发布的值<select>并推断必须禁用文本框。

所有人都说,我不确定你为什么要这样做。通常最好管理动作的根本原因(即为什么要设置属性?)而不是副作用。

于 2013-04-05T22:13:12.380 回答