__EVENTTARGET如何将信息还原到服务器(ASP.NET)

时间:2019-02-28 23:33:09

标签: c# asp.net

我是ASP.NET的初学者,一本教科书说: 如果创建的网页包含一个或多个配置为使用AutoPostBack的Web控件,则ASP.NET会在呈现的HTML页面上添加特殊的JavaScript函数。该函数名为__doPostBack()。调用时,它将触发回发,将数据发送回Web服务器

<input type="hidden" name="__EVENTTARGET" ID="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" ID="__EVENTARGUMENT" value="" />

function __doPostBack(eventTarget, eventArgument) {
 if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
 theForm.__EVENTTARGET.value = eventTarget;
 theForm.__EVENTARGUMENT.value = eventArgument;
 theForm.submit();
 }

所以我的问题是:

Q1-如何在服务器端检索__EVENTTARGET.value和__EVENTARGUMENT.value?在页面生命周期的哪个阶段发生

第2季度-假设我没有检查IsPostBack,因此它仍会在回发中创建一个新的下拉列表,教科书上说“无法在每次回发后重新生成列表。如果这样做,所选项目信息将丢失,并且将发生错误” 但为什么?即使我创建了一个新列表,我仍然拥有__EVENTTARGET.value和__EVENTARGUMENT.value信息,所以我仍然可以知道选择了哪个项目导致回发,不是吗?

0 个答案:

没有答案