2012-10-05 139 views
0

我有一個包含中繼器的asp:LinkLabels列表。執行中繼器項服務器端

當用戶點擊這個按鈕時,我有一個按鈕「開始使用」,我希望它執行中繼器中的第一項。

我有這樣的代碼在Chrome中工作正常,但不是在任何其他瀏覽器:

<asp:Button ID="SubmitInfo" runat="server" Text="Save and Get Started" Width="218px" OnClientClick="__doPostBack('rptList$ctl01$Label15','')" CssClass="submit-button-huge" OnClick="SubmitInfo_Click" /> 

有沒有辦法做到這一點的服務器端,而無需使用JavaScript的__doPostBack?

這裏有什麼明顯的錯誤嗎?

回答

0

沒有您的整個代碼很難回答。我假設你LinkLabels是了LinkBut​​ton名爲「LB1」,並且您使用的CommandName和CommandArgument,Repeater_ItemCommand

我會嘗試這樣的事情在repeater.ItemCreated

private void Repeater_ItemCreated(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e) 
    { 
     if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem) 
     { 
      var lb = (LinkButton)e.Item.FindControl("lb1"); 
      if(IsPostBack && e.Item.ItemIndex==0) 
      { 
       SubmitInfo.Click+= (source,args)=>Repeater_ItemCommand(lb,new RepeaterCommandEventArgs(e.Item,lb,new CommandEventArgs(lb.CommandName,lb.CommandArgument))); 
      } 
... 

希望這將有助於