0
<a href="A.aspx?qs=2"></a>

单击此按钮应触发 A.aspx 的 CodeBehind 中的 GetMeData(obj sender, eventargs e) 方法 GetMeData() 也绑定到 aspButton 以在 HTML 链接中的单击事件上重用此方法。

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 中找到的任何内容并完成......这就是全部。

4

2 回答 2

0

你不能直接做,但像这样的事情我做的伎俩

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
}
于 2013-05-08T15:00:52.377 回答
0

好吧...传递查询字符串根本不是问题。

问题:您在哪里绑定这些数据?

如果您不想在 page_load 上调用该方法,您应该在我想的 Web 控件上调用 on_item_data_bound。

方法如下所示:

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

然后在 Web 控件上调用此方法。

干杯。

于 2013-05-08T15:09:55.387 回答