如何在asp.net中用jquery触发listview中的按钮点击事件?

时间:2015-12-30 10:57:11

标签: javascript jquery asp.net listview

这是我的ListView控件:

<asp:ListView ID="PortfolioListView" runat="server" onitemcommand="PortfolioListView_ItemCommand">
  <ItemTemplate>
    <li class="item brick1 <%# Eval(" CategoryName ")%> isotope-item">
      <a class="item-popup" href="Gallery/195x195/<%# Eval(" MainImage ") %>" title="<%# Eval(" ShortDesc ") %>">
        <img src="Gallery/195x195/<%# Eval("MainImage") %>" alt="<%# Eval("Title") %>" />
        <div class="hover">
           <span class="Popup">
            <i class="fa fa-search-plus"></i>
          </span>
           <span><%# Eval("CategoryName")%></span>
        </div>
      </a>
      <div class="bottom">
        <div class="isotope-title"><span><%# Eval("Title")%></span>
        </div>
        <div class="like">
          <a class="update">
            <i class="fa fa-thumbs-o-up"></i>
            <span><%# Eval("Counter")%></span>
          </a>
          <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
              <div class="flike">
                <asp:LinkButton ID="LikeLBTN" runat="server" CssClass="likeBTN" ClientIDMode="AutoID" CommandName="Like" CommandArgument="<%# Bind('GalleryID') %>">
                  <i class="fa fa-thumbs-o-up"></i>
                  <span><%# Eval("Counter")%></span>
                </asp:LinkButton>
              </div>
            </ContentTemplate>
          </asp:UpdatePanel>
        </div>
      </div>
    </li>
  </ItemTemplate>
</asp:ListView>

我在ListView内部有一个LinkBut​​ton,onitemcommand触发了listview的LinkButton(CommandName="Like" CommandArgument="<%# Bind('GalleryID') %>")事件。

我在aspx.cs中的PortfolioListView_ItemCommand:

protected void PortfolioListView_ItemCommand(object sender, ListViewCommandEventArgs e)
{
    DBClass dbc = new DBClass();
    int index = int.Parse(e.CommandArgument.ToString());
    string cmd = e.CommandName;
    if (cmd == "Like")
    {
        string selstr = String.Format("Update Gallery set [Counter]=[Counter]+1 where GalleryID = {0}", index.ToString());
        int res = dbc.RunCommand(selstr);
        selstr = String.Format("SELECT GalleryID, Title, MainImage, Counter, ShortDesc, CategoryName FROM Gallery inner join GalleryCat on Gallery.CatID = GalleryCat.CatID Order By PDate desc");
        dbc.LoadInList(PortfolioListView, selstr);
    }
}

我希望在ListView中点击a标记class="update"时,点击LinkBut​​ton触发器的Click事件,然后运行我在PortfolioListView_ItemCommand事件中的代码。现在应该如何使用jquery或javascript完成此操作?感谢。

2 个答案:

答案 0 :(得分:0)

  

我希望在ListView中单击“A”标签并使用class =“update”,点击LiunkBut​​ton触发器的Click事件

尝试添加点击事件以标记类num2,然后当用户点击时,您可以触发另一次标记为update的标记:

#LikeLBTN

或者我建议使用另一个隐藏的链接,如:

$('body').on('click', '.update', function(){
     $('#LikeLBTN').click();
})

而不是<asp:LinkButton runat="server" ID="SomeControl" onclick="someControlClicked" style="display:none; /> ,您可以拨打$('#LikeLBTN').click();

希望这有帮助。

答案 1 :(得分:0)

通常,元素的客户端ID与服务器上分配的ID不同。因此,首先尝试获取clientId,然后尝试触发click。

blah.com/hello.php

您可以使用blah.com/hello/index.php中的课程导航到特定index.php

以下是使用HTML元素的示例代码:

document.getElementById('<%= LikeLBTN.ClientID %>').click
linkButton
div