2012-10-05 103 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))); 
      } 
... 

希望这将有助于