代码之家  ›  专栏  ›  技术社区  ›  Johnny Bones

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

  •  0
  • Johnny Bones  · 技术社区  · 9 年前

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

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

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

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

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

    那么,有人能告诉我如何在page_load上检查页面加载的原因吗?我试着用发件的 受保护的void Page_Load(对象发送方,EventArgs e) 但我想不通。而且 e 不明白 项目 命令标识符 直到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();
        }
    }
    
    1 回复  |  直到 9 年前
        1
  •  1
  •   Martín Misol    9 年前

    你检查过了吗?

    Request.Form["__EVENTTARGET"]
    

    它应该采用__doPostBack的第一个参数的值,如果是链接,则应为“ctl00$MainContent$AcctRepeater$ctl03$LinkUpdate”