服务器方法没有在listviewlayouttemplate中触发

本文关键字:listviewlayouttemplate 方法 服务器 | 更新日期: 2023-09-27 18:07:07

我有一个服务器方法,我想从我的ListView的LayoutTemplate内的链接运行。我发现它不会触发,除非我把链接移到LayoutTemplate之外。有没有其他的方式来运行一个服务器端事件从一个锚或LinkButton内的LayoutTemplate?我想尝试一个链接与CommandName和捕获OnItemCommand的内部,但我不知道如果这工作在LayoutTemplate内。

我在LayoutTemplate中的锚:

  <a runat="server" id="proceedCheckout"  OnServerClick="startCheckout"> 

服务器方法:

public void startCheckout(object sender, EventArgs e)
    {....

服务器方法没有在listviewlayouttemplate中触发

我试图复制您的问题,但没有运气。这似乎对我有用。我已经包括了我的测试标记和代码,这样你就可以看到如果你错过了什么:

标记

<asp:ListView ID="listView1" runat="server">
    <LayoutTemplate>
        <div>
            <asp:LinkButton ID="linkButton1" runat="server" OnClick="LinkButton_Click" Text="Link Button"></asp:LinkButton>
        </div>
        <div runat="server" id="itemPlaceholder" />
    </LayoutTemplate>
    <ItemTemplate>
        <div><%# Container.DataItem %></div>
    </ItemTemplate>
</asp:ListView>

protected void Page_Load(object sender, EventArgs e)
{
    List<string> data = new List<string>();
    data.Add("Item 1");
    data.Add("Item 2");
    data.Add("Item 3");
    listView1.DataSource = data;
    listView1.DataBind();
}
protected void LinkButton_Click(object sender, EventArgs e)
{
    //...
}

相关文章:
  • 没有找到相关文章