jquery和asp.net gridview的帮助

时间:2011-05-26 15:53:52

标签: jquery asp.net vb.net

我有一个带链接的网格,我想要实现的是点击链接时,打开一个模态窗口。我的模态正常运作。我只是在获取链接做某事时遇到了问题。下面是我的示例代码。

ASPX:

<asp:GridView AutoGenerateColumns="False" Width="100%" ID="grvUsers" runat="server">
    <Columns>
        <asp:TemplateField HeaderText="Delete">
            <ItemTemplate>
                <asp:LinkButton ID="Label1" runat="server" Text='<%# eval("ID") %>'></asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

HTML渲染:

<table cellspacing="0" rules="all" border="1" id="grvUsers" style="width: 100%; border-collapse: collapse;">
    <tr>
        <th scope="col">Delete</th>
    </tr>
    <tr>
        <td>
            <span id="grvUsers_Label1_0">23</span>
        </td>
    </tr>
</table>

jQuery的:

$(document).ready(function(){
    $('td:nth-col(0)').click(function(){
        alert("OMG");
    });
});

2 个答案:

答案 0 :(得分:1)

您可以使用:

,而不是尝试使用js添加事件
<asp:LinkButton ID="Label1" onClick="myAlertFunction();" runat="server" Text='<%# eval("ID") %>'></asp:LinkButton>

我建议你查看这个jquery文档: Jquery Dialog w/Modal

答案 1 :(得分:0)

  1. 你可以使用ajax作为模态弹出窗口,比使用jquery库更好地工作(有例外..)

  2. 您可以使用a select命令字段作为删除并在SelectIndexchanging中处理事件或删除任何一个。

  3. 将此添加到gridview

    <asp:CommandField HeaderText="Delete" ButtonType="Link" ShowSelectButton="true"
    SelectText='<%# eval("ID") %>' />
    

    代码隐藏:

    protected void mygridview_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
    {
            //here you can do anything with the id
            string id = mygridview.Rows[e.NewSelectedIndex].Cells[1].Text;
    
            mdlPopup.Show();
    }
    

    Ajax popup:

    <asp:Button id="btnShowPopup" runat="server" style="display:none" />
    <ajaxToolkit:ModalPopupExtender
    ID="mdlPopup" 
    runat="server" 
    TargetControlID="btnShowPopup" 
    PopupControlID="pnlPopup" 
    CancelControlID="btnClose" 
    BackgroundCssClass="Inactive" />
    <asp:Panel ID="pnlPopup" runat="server" Width="500px" style="display:none;">
      <!--here you put any content that will go inside your popup-->
    </asp:Panel>