GridView行LinkBut​​ton上的服务器标记格式不正确

时间:2014-10-07 21:30:56

标签: asp.net vb.net gridview

我收到了这个错误,我不能为我的生活找出原因。基本上,我在GridView控件的每一行上都有一个LinkBut​​ton,它应该在单击时删除与该行关联的记录。我在成功使用hrefs之前使用过Container.DataItem,但之前没有使用过LinkBut​​ton。该链接应该将GridView的DataKey传递给服务器端函数,该函数从数据库中删除记录。任何帮助是极大的赞赏!以下是相关代码:

<asp:TemplateField>
     <ItemTemplate>
          <asp:LinkButton ID="btnDeleteInfoRequest" runat="server" onClick="DeleteInfoRequest(this, <%#DataBinder.Eval(Container.DataItem, "pKey") %>)" Text="Delete?" />
     </ItemTemplate>
</asp:TemplateField>

1 个答案:

答案 0 :(得分:1)

像这样更改你的aspx代码:

        <asp:TemplateField>
            <ItemTemplate>
                <asp:LinkButton ID="btnDeleteInfoRequest" runat="server" CommandArgument='<%#Eval("pKey")%>' OnClick="DeleteInfoRequest" Text="Delete?" />
            </ItemTemplate>
        </asp:TemplateField>

然后像这样创建代码:

Protected Sub DeleteInfoRequest(sender As Object, e As EventArgs)
    Dim btnDeleteInfoRequest As LinkButton = TryCast(sender, LinkButton)
    Dim pKey As String = btnDeleteInfoRequest.CommandArgument

    'TODO: do your stuff here
End Sub

快乐的编码!