是否建议在用户控件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 Class
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 :(得分:0)
无缘无故地检查它?绝对不。如果你应该只在第一次加载时而不是在后续的帖子上做某事,那么它应该是应该使用的模式。
答案 1 :(得分:0)
您是否确定在到达页面时,会话中始终存在“CustomerNumber”?您是否有任何押韵或理由可以找到您何时获得数据以及何时没有?
答案 2 :(得分:0)
如果在页面加载中使用“!IsPostBack”,当用户单击其他控件时它会执行postBack,因此您无法获取数据。 我希望能帮助你。