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" />

有没有办法在不使用 __doPostBack javascript 的情况下执行此服务器端?

这里有什么明显的错误吗?

4

1 回答 1

0

没有你的整个代码很难回答。我假设您的 LinkLabels 是名为“lb1”的 LinkBut​​ton,并且您使用 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)));
            }
...

希望这会有所帮助

于 2012-10-05T15:09:03.130 回答