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

Find the name of a repeater control on form load

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

当我将鼠标悬停在 link 上时,它看起来像这样:

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

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

我想做的是在 page_load 上检查 LinkUpdate link 是否是导致页面加载的原因。如果是这样,我不想处理寻呼片。

那么,谁能告诉我如何在 page_load 上检查导致页面加载的原因?我尝试查看 protected void Page_Load(object sender, EventArgs e) 的发件人,但无法弄清楚。此外,e 不理解 itemCommandName 直到 Page_Load 片段具有已完成,所以我也不能使用它们。

最终,我想要的结果是这样的:

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();
    }
}

你检查过了吗?

Request.Form["__EVENTTARGET"]

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