在表单加载中查找转发器控件的名称

时间:2015-07-28 13:11:08

标签: c# code-behind

当我的页面加载时,我有一个链接来更新转发器控件中每条记录的记录。

当我用鼠标悬停在链接上时,链接看起来像这样:

javascript:__doPostBack('ctl00$MainContent$AcctRepeater$ctl03$LinkUpdate','')

我也在表单上使用分页。因此,当我单击此链接时,它会执行重新创建分页的回发。

我想要做的是在page_load上检查LinkUpdate链接是否是导致页面加载的原因。如果是这样,我不想处理分页。

那么,有人可以告诉我如何在page_load上查看导致页面加载的原因吗?我尝试使用受保护的void Page_Load(对象发送者,EventArgs e)的发件人,但无法弄明白。此外, e 直到Page_Load片段完成后才理解项目 CommandName ,所以我也不能使用它们。

最终,我想要最终得到的是这样的:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        var MySortVal = cboSortBy.SelectedValue;
        var MySortVal2 = Session["SSortBy"];
        if (Session["SSortBy"] != null)
        {
            lblSortOrder.Text = Session["SSortBy"].ToString();
        }
        else
        {
            lblSortOrder.Text = "X";
        }

        Show_Data();
        LoadGroups();
    }
    else if (**this page has been reloaded because of the link**)
    {
    }
    else
    {
        var MySortVal = cboSortBy.SelectedValue;
        var MySortVal2 = Session["SSortBy"];
        if (Session["SSortBy"] != null)
        {
            lblSortOrder.Text = MySortVal;
        }
        else
        {
            lblSortOrder.Text = "X";
        }

        Show_Data();
        LoadGroups();
    }
}

1 个答案:

答案 0 :(得分:1)

你检查过这个吗?

Request.Form["__EVENTTARGET"]

它应该取__doPostBack的第一个参数的值,如果您的链接应该是' ctl00 $ MainContent $ AcctRepeater $ ctl03 $ LinkUpdate'