2014-10-07 73 views
0

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

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

尝试在单引号中包装'onClick' onClick ='DeleteInfoRequest(this,<%#DataBinder.Eval(Container.DataItem,“pKey”)%>)'' – Michael 2014-10-07 21:33:13

+0

感谢您的闪电反应!我曾尝试过,并得到以下错误: XML文字不能出现在这里,除非它被括在括号 – Mike 2014-10-07 21:38:10

+0

也许试试这个'onClick ='<%#“DeleteInfoRequest(this,”+ DataBinder.Eval(Container.DataItem,“ pKey“)+”);“ %>)'' – Michael 2014-10-07 21:44:24

回答

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 

编码愉快!

+0

格里高尔,那精美的工作!非常感谢!在此上下文中我没有使用CommandArgument。 – Mike 2014-10-07 22:02:05

相关问题