首先,我为我的问题的不清楚的标题道歉。我不知道如何在标题中简洁地描述我的问题。
我的 .aspx 中有一个隐藏字段
<input type="hidden" name="hid1" value="0" />
我想在页面加载事件期间设置此字段的值,如果它不是回发。
protected void Page_Load(object sender, EventArgs e) {
if (!Page.IsPostBack) {
// This doesn't work!
Request.Form["hid1"] = "1";
}
if (Page.IsPostBack) {
// This DOES work!
Request.Form["hid1"] = "1";
}
}
问题是请求在页面加载事件期间不包含表单数组中的隐藏字段,而它不是回发(即 - 第一次点击页面)。对页面的后续点击(即回发)会生成包含隐藏字段的表单数组。
我确定它与页面的生命周期有关,但我真正需要知道的是如何在页面加载事件期间以及当它不是回发时设置隐藏字段?
编辑: 我真的,真的不想合并 runat="server" 属性!