我怎么知道控制器中控件文本框/复选框等的类型是什么?

时间:2012-04-30 08:27:02

标签: c# asp.net .net asp.net-mvc asp.net-mvc-3

我需要动态构建控件,如textbox,checkbox,radiobutton等,通过发出Ajax请求并下载HTML。但是,一旦屏幕上有足够的控件并且用户提交表单,我需要所有控件并且它是已发布的值。使用Asp.Net MVC中的非顺序索引很容易获得已发布的值。但是,我如何获得哪个控件的价值呢?简单地说,如果表单已提交值“Hello World”。我需要知道Hello World的位置。是提交此值的文本框还是textarea?

我不需要其他任何东西,如身份证,姓名等。只需要知道控制的类型,无论是texbox,textarea,select还是哪一个。

2 个答案:

答案 0 :(得分:1)

当您动态构建这些客户端元素时,您会给它们一个名称,以便它们发布到服务器 只需遵循以下命名惯例:
textarea1,textarea2 ...
txt1中,TXT2,...
然后在服务器上,收集值 - 采取以textarea开头的所有键来收集textAreas的值......

更好的方法是为每种类型创建一个包含列表的模型,并在生成客户端元素时,构建其名称,以便通过ModelBinder将值映射到正确的列表。 这些名称的语法有点讨厌,所以使用客户端模板 I used this post by haacked when i needed to build something like this

答案 1 :(得分:0)

您需要了解有关http get或post的更多信息。