我想要一个HTML锚点调用页面方法和JUST该方法;没有page_load。这是可能的吗?如果它是如此?

时间:2013-05-08 14:56:09

标签: asp.net anchor pageload

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

点击这个应该在A.aspx的CodeBehind中激发方法GetMeData(obj sender,eventargs e) GetMeData()也绑定到一个aspButton Ineed,以便在其中的click事件中重用此方法 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中的任何发现并完成..它就是全部。

2 个答案:

答案 0 :(得分: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
}

答案 1 :(得分:0)

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

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

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

方法如下所示:

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

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

干杯。

相关问题