пятница, 20 марта 2009 г.

Определение асинхронного запроса при использовании asp .net ajax

Встречаются ситуации, в которых необходимо разделить поведение управляющего элемента, расположенного на UpdatePanel в зависимости от того, асинхронный запрос приходит на обновление, или нет.
При использовании asp .net ajax ScriptManager клиентской части определяет переменную __ASYNCPOST при обращении к странице значением "true". Таким образом, разделить поведение пользовательского элемента в зависимости от типа запроса можно следующим образом:
public partial class UIControls_MyControl : System.Web.UI.UserControl
{
bool IsAsyncRequest
{
get
{
return ( Page.Request.Params.Get( "__ASYNCPOST" ) != null )
}
}

protected void Page_Load(object sender, EventArgs e)
{
if ( IsAsynRequest )
{
//что-то делаем
}
else
{
//делаем что-то
}
}

}
Примером использования данного решения может быть ситуация, в которой накладно выполнять всю функциональность пользовательского элемента на каждый асинхронный запрос. Что как раз и позволяет автоматизировать UpdatePanel из asp .net ajax.

Комментариев нет:

Отправить комментарий