在IE9中单击带有javascript的链接按钮

在IE9中单击带有javascript的链接按钮,javascript,asp.net,internet-explorer,Javascript,Asp.net,Internet Explorer,我在中继器里有几个链接按钮。当我手动单击它们时,它们会很好地进行回发。我所有通过javascript点击链接按钮的尝试都失败了,现在我的想法也不多了(谷歌也是如此,似乎找不到任何其他选择)。我尝试在OnClick和OnCommand之间切换 链接按钮: <asp:Repeater ID="repItems" runat="server" OnItemDataBound="repItems_OnItemDataBound"> <ItemTemplate>

我在中继器里有几个链接按钮。当我手动单击它们时,它们会很好地进行回发。我所有通过javascript点击链接按钮的尝试都失败了,现在我的想法也不多了(谷歌也是如此,似乎找不到任何其他选择)。我尝试在OnClick和OnCommand之间切换

链接按钮:

<asp:Repeater ID="repItems" runat="server" OnItemDataBound="repItems_OnItemDataBound">
    <ItemTemplate>
        <asp:Panel ID="pnlItem" runat="server">                       
            <asp:LinkButton ID="lnkItem" runat="server" OnClick="lnkItem_OnClick" OnCommand="lnkItem_OnCommand"></asp:LinkButton>                  
        </asp:Panel>
    </ItemTemplate>        
</asp:Repeater>  
如果我将OnClientClick设置为执行回发,则click()函数开始工作,但我再次收到Sys.ParameterCountException错误:

lnkItem.OnClientClick = String.Format("__doPostBack('{0}', '');", lnkItem.UniqueID);
有些人建议将ScriptManager更改为发布模式,但这并没有触发回发,只是删除了错误消息


eval(LinkButton.attr('href');
在Google Chrome中有效。

我不确定您遇到了什么问题,但以下内容对我有效

ASCX:


胡萨!
代码隐藏:

    protected void Page_Load(object sender, EventArgs e)
    {
        List<Item> test = new List<Item>();
        test.Add(new Item { Text = "Item 1" } );
        test.Add(new Item { Text = "Item 2" } );
        repItems.DataSource = test;
        repItems.DataBind();
    }

    protected void lnkItem_OnClick(object sender, EventArgs e)
    {
        this.Controls.Add(new Literal() { Text = ((LinkButton)sender).Text });
    }

    protected void lnkItem_OnCommand(object sender, EventArgs e)
    {
        this.Controls.Add(new Literal() { Text = ((LinkButton)sender).Text });
    }
受保护的无效页面加载(对象发送方,事件参数e)
{
列表测试=新列表();
添加(新项目{Text=“项目1”});
添加(新项目{Text=“项目2”});
repItems.DataSource=测试;
repItems.DataBind();
}
受保护的void lnkItem_OnClick(对象发送方,事件参数e)
{
this.Controls.Add(new Literal(){Text=((LinkButton)sender.Text});
}
受保护的void lnkItem_OnCommand(对象发送方,事件参数e)
{
this.Controls.Add(new Literal(){Text=((LinkButton)sender.Text});
}
在本例中,OnClick和OnCommand都会触发

<asp:Repeater ID="repItems" runat="server">
    <ItemTemplate>
        <asp:Panel ID="pnlItem" runat="server">                       
            <asp:LinkButton ID="lnkItem" runat="server" Text='<%# Eval("Text") %>' OnClick="lnkItem_OnClick" OnCommand="lnkItem_OnCommand"></asp:LinkButton>                  
        </asp:Panel>
    </ItemTemplate>        
</asp:Repeater>

<button onclick="document.getElementById('MainContent_repItems_lnkItem_0').click(); return false;">Huzzah!</button>
    protected void Page_Load(object sender, EventArgs e)
    {
        List<Item> test = new List<Item>();
        test.Add(new Item { Text = "Item 1" } );
        test.Add(new Item { Text = "Item 2" } );
        repItems.DataSource = test;
        repItems.DataBind();
    }

    protected void lnkItem_OnClick(object sender, EventArgs e)
    {
        this.Controls.Add(new Literal() { Text = ((LinkButton)sender).Text });
    }

    protected void lnkItem_OnCommand(object sender, EventArgs e)
    {
        this.Controls.Add(new Literal() { Text = ((LinkButton)sender).Text });
    }