2014-10-07 78 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

相關問題