c#
2014-01-19 146 views 0 likes 
0

嗨,大家好,我有一个链接按钮。首先点击它没有重定向到目标页面,然后点击它的工作原因?在第一次点击链接按钮不是射击/工作?

<asp:LinkButton ID="lnkAttDetail" runat="server" Text='<%# (DataBinder.Eval(Container.DataItem, "schdate") == DBNull.Value ? " " : Convert.ToDateTime(Eval("schdate").ToString()).ToString("dd/MMM/yyyy"))%>' CausesValidation="false" 
            CssClass="navigationlink" CommandName='<% # Eval("schdate") %>' CommandArgument='<%#Eval("schdate") + ";" + Eval("emp_id") %>' 
            OnClick="lnkAttDetail_Click" ForeColor="black" Font-Underline="false" /> 

protected void lnkAttDetail_Click(object sender, System.EventArgs e) 
    { 

     LinkButton lnkAttDetail = (LinkButton)sender; 
     string[] arguments = lnkAttDetail.CommandArgument.Split(';'); 
     string schdate = arguments[0]; 
     string id = arguments[1]; 


     lnkAttDetail.ForeColor = System.Drawing.Color.Orange; 

     lnkAttDetail.PostBackUrl = string.Format("ManualAttendance.aspx?schdate={0}&id={1}", schdate, id) + "&M=" + Request.QueryString["M"] + "&S=" + int.Parse(Request.QueryString["S"].ToString()) + "&sys=" + ((System.Collections.Generic.Dictionary<string, string>)Session["User"])["Token"]; 

    } 

回答

1

其工作,在第一次点击您要设置你是不是在提交链接按钮的PostBackUrl。因此在第二次点击工作。您可以使用Response.Redirect方法

使用

Response.Redirect(string.Format("ManualAttendance.aspx?schdate={0}&id={1}", schdate, id) 
    + "&M=" + Request.QueryString["M"] 
    + "&S=" + int.Parse(Request.QueryString["S"].ToString()) 
    + "&sys=" 
    + ((System.Collections.Generic.Dictionary<string, string>)Session["User"])["Token"]); 

代替

lnkAttDetail.PostBackUrl = string.Format("ManualAttendance.aspx?schdate={0}&id={1}", schdate, id) 
    + "&M=" 
    + Request.QueryString["M"] 
    + "&S=" 
    + int.Parse(Request.QueryString["S"].ToString()) 
    + "&sys=" 
    + ((System.Collections.Generic.Dictionary<string, string>)Session["User"])["Token"]; 
+0

Thanx Dude现在的工作:) –

+1

@ user3208937请不要只说谢谢你,并标记你的问题的解决方案。 – Jim

1

很简单,因为你是在第一次点击设置PostBackUrl

链接按钮重定向到其中设置的URL PostBackUrl第一次单击之前为空的属性。 如果你想在第一次点击重定向,您必须使用:

Response.Redirect("YOUR GENERATED URL HERE"); 

一项PostBackUrl是一个属性,而不是一个方法。

相关问题