2009-05-29 58 views
0

最好先检查Page.IsPostBack用户控件Page_Load事件像用户检查Page.IsPostBack控制

protected void Page_Load(object sender, EventArgs e) 
    { 

     if (!Page.IsPostBack) 
     { 


     } 


    } 

我得到奇怪的结果

编辑〜这里是东西。当主窗体被加载时,我使用Request.QueryString获取客户ID,然后将其放置在SESSION变量中。

在控制Load事件上,我读取SESSION变量以获取该客户的数据。那么,我需要在控制层面检查PostBack吗?

编辑〜这里是控制

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!Page.IsPostBack) 
     { 
      //Getting and storing the customer account number 
      if (string.IsNullOrEmpty((string)Session["CustomerNumber"])) 
      { 
       Session["CustomerNumber"] = cust.GetCustomerNumber(myHelper.GetCustomerIDFromQueryString()); 
       LoadProductData(); 
      } 
     } 

    } 

这里的负载事件是myHelper类

static class myHelper 
{ 
    public static Guid GetCustomerIDFromQueryString() 
    { 
     //Getting the GUID (used as customerid in CRM) from the URL request of the selected account. 
     return Sql.ToGuid(System.Web.HttpContext.Current.Request["ID"]); 
    } 

} 

}

+0

你会得到什么“奇怪的结果”? – 2009-05-29 18:34:01

+0

有时我会收到数据,有时候不会。如果我删除回发一切工作正常。我用我正在做的事情编辑我的剧本。 – 2009-05-29 18:36:30

回答

0

如果您在页面加载中使用“!IsPostBack”,当用户单击其他控件时,它会执行回发功能,因此您无法获取数据。 我希望能帮到你。

0

就检查它没有理由?绝对不。如果你应该只在第一次加载时做某些事情,而不是在后续的后期加载时,那么这就是应该使用的模式。

0

您确定在您访问您的页面时,您将始终存储会话中已存储的“CustomerNumber”?当你得到数据或不知道什么时候,你能找到什么韵律或理由?