Проверка Page.IsPostBack в пользовательских элементах управления - PullRequest
0 голосов
/ 29 мая 2009

Рекомендуется ли проверять Page.IsPostBack в пользовательском элементе управления Page_Load Event, например

    protected void Page_Load(object sender, EventArgs e)
    {

        if (!Page.IsPostBack)
        {


        }


    }

Я получаю странные результаты

Редактировать ~ Вот эта вещь. Когда главная форма загружена, я использую Request.QueryString, чтобы получить идентификатор клиента, который я затем помещаю в переменную SESSION.

В контрольном событии Load я прочитал переменную SESSION, чтобы получить данные для этого клиента. Итак, нужно ли проверять PostBack на уровне управления?

Edit ~ Вот событие загрузки элемента управления

    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"]);
    }

}

}

Ответы [ 3 ]

0 голосов
/ 29 мая 2009

Вы уверены, что у вас всегда будет "CustomerNumber", уже сохраненный в сеансе к тому времени, когда вы попадете на свою страницу? Есть ли какая-то рифма или причина, по которой вы можете найти, когда вы получаете данные, а когда нет?

0 голосов
/ 03 июня 2009

Если вы используете «! IsPostBack» при загрузке страницы, когда пользователь нажимает на другой элемент управления, он делает postBack, поэтому вы не получаете свои данные. Я надеюсь, что это поможет вам.

0 голосов
/ 29 мая 2009

Просто проверил это без причины? Точно нет. Если вам нужно что-то делать только при первой загрузке, а не при последующих постах, то следует использовать шаблон.

...