如何确定Request.Form
中的控制类型?
foreach (string x in Request.Form.Keys)
{
if (Request.Form[x] == null || Request.Form[x].ToString() == "")
{....
我想知道每个循环,控件的类型是什么。
是文本框,列表框,隐藏字段等......
如何做到这一点?
答案 0 :(得分:1)
很长一段时间,手动处理Request集合而不是强类型控件对象很有用。但是,几乎在任何情况下,迭代所有控件都可能是一个坏主意。
您可以使用Request集合中的键执行recursive FindControl()
。如果FindControl
未返回null,请检查控件的类型。
请注意,提交的密钥与控件的实际ID不同。它通常看起来像:
<input type="text" name="foo$bar$txtFirstName" id="foo_bar_txtFirstName" />
“name”是Request集合中的实际键,但“id”是控件的ID。这需要进一步的映射步骤。
答案 1 :(得分:0)
这是不可能的。浏览器不提交此信息。 HTTP标准不包含本质传输此信息的方法。