2013-05-08 1 views
0
<a href="A.aspx?qs=2"></a> 

щелкая это должно выстрелить метод GetMeData (Obj отправителя, EventArgs е) в CodeBehind из A.aspx GetMeData() также связана с aspButton Ineed повторно использовать этот метод на событие щелчка в по ссылке HTML.Я хочу, чтобы привязка HTML вызывала метод страницы и JUST этот метод; Нет page_load. Это возможно? Если это тогда КАК?

public void Page_Init(object o, EventArgs e) 
    { 
     if (!string.IsNullOrEmpty(Request.QueryString["curPage"])) 
     { 
      FilterOrdersByDate(); 
     } 
    } 


public void FilterOrdersByDate(object sender, EventArgs e) 
    { //with some bll logic it calls: 
    List<ESalesOrder> list = bsales.GetSalesOrderAdminByDate(esalesDate,curPage,perPage); 
} 

Но вызов FilterOrdersByDate(); никогда не доходит до него, тем не менее, удовлетворяет вышеприведенному условию ... Вместо этого он просматривает загрузку страницы и выполняет все, что находит в page_load, и делает ... там все.

ответ

0

Вы не можете сделать это direclty, но что-то вроде этого моей сделать трюк

На A.aspx.cs вы должны иметь код, как этот

protected void Page_Load(obj sender, eventargs e) 
{ 
    // If querystring contains qs=2, I call CommonGetMeData method 
    if (Request.QueryString["qs"] != null && Request.QueryString["qs"] == "2") 
    { 
     CommonGetMeData(); 
    } 
    else 
    { 
     // here goes the rest of the page_load logic 
    }  
} 

protected void GetMeData(obj sender, eventargs e) 
{ 
    // When event triggered, I also call CommonGetMeData method 
    CommonGetMeData(); 
} 

protected void CommonGetMeData() 
{ 
    // your logic. This method will be called from event 
    // handler and in case querystring contains qs=2 
} 
+0

> То есть я не могу избежать выполнения остальных кодов загрузки страницы? Неужели ты ушел так же, как я? В любом случае я попробую это и дам вам знать. – edam

+0

Вы можете выполнить оставшуюся часть page_load на 'else'. Обновлен мой ответ. –

+0

> Я пробовал это сегодня, хотя очень не так, как вы это делали, вызывая метод, а затем вызывал в нем цель и снова записывал его. Но мой не работал, он просто нашел его и проигнорировал его, как я видел через debug pointrt ... – edam

0

... Ну проходящее строку запроса не является проблема вообще.

Вопрос: Где вы связываете эти данные?

Если вы не хотите вызывать метод на странице_load, вы должны вызывать on_item_data_bound на веб-элементе управления, я полагаю.

метод будет выглядеть следующим образом:

protected void On_ItemDataBound(object sender, EventArgs e) 
{ 
    //Request query string and do something. 
} 

Затем вы вызываете этот метод на веб-управления.

Cheers.

+0

> данные «qs = 2» привязаны к методу GetMeData, который использует его путем захвата fromReq.QryStrng ["qs"], в свою очередь, приносит мне список запросов из базы данных ... – edam

Смежные вопросы