从某些控件不回发任何值的那一刻起,如果未选中复选框,则您有两个选项。
- 在回发之前和之后了解您的所有控件/或
- 使用 javascript 创建控件的所有名称并将它们发布回隐藏字段中。
现在,在回帖中HttpContext.Current.Request.Form
,您可以在其中阅读所有已发布的值。
在客户端,您可以使用简单的 javascript 或 jQuery 创建所有输入控件的列表并将它们发送到隐藏的输入。这是一个例子:
var inputs, index, cNames = "";
inputs = document.getElementsByTagName('input');
for (index = 0; index < inputs.length; ++index) {
cNames += "&" + inputs[index].name;
}
document.getElementById("AllControls").value = cNames;
或与 jQuery 相同
var cAllNames = "";
$('input').each(function() {
cAllNames += "&" + $(this).attr("name");
});
jQuery('#AllControls').val(cAllNames);
在您的页面上,您有一个隐藏的控件,例如
<input type="hidden" name="AllControls" id="AllControls" />
在帖子上,您的控件的所有名称都在一行中,例如:
AllControls=&__VIEWSTATE&__EVENTVALIDATION&cbBoxTest&AllControls&Button1
在那里您可以拆分该字符串,每个名称都用 分隔,&
您可以在那里看到使用的内容,未使用的内容。您可以传递有关该控件的其他信息 - 就像我发送每个控件的名称一样。