有很多關於這個問題,但我一直無法解決我的問題,使用任何人的答案(經過許多次嘗試..)VB.net - 使數據庫中的Gridview複選框更新布爾字段
我正在vb.net中創建一個asp.net web應用程序。我有一個SqlDataSource和我的網頁上一個GridView:
<asp:SqlDataSource ID="msgUnread" runat="server"
ConnectionString="<%$ ConnectionStrings:edinsec %>"
SelectCommand="SELECT [msgdate], [email], [name], [message], [readit] FROM [messages]"
UpdateCommand="UPDATE messages SET readit = 'True' WHERE (msgid = @msgid)">
<UpdateParameters>
<asp:Parameter Name="msgid" />
</UpdateParameters>
</asp:SqlDataSource>
<asp:GridView ID="unreadMessages" runat="server" AutoGenerateColumns="False"
BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px"
CellPadding="3" DataSourceID="msgUnread">
<RowStyle ForeColor="#000066" />
<Columns>
<asp:BoundField DataField="msgdate" HeaderText="Date & time"
SortExpression="msgdate" />
<asp:BoundField DataField="email" HeaderText="Email"
SortExpression="email" />
<asp:BoundField DataField="name" HeaderText="Name" SortExpression="name" />
<asp:TemplateField HeaderText="Mark as read" SortExpression="readit">
<%--<EditItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("readit") %>' OnCheckedChange="CheckBox1_CheckedChanged" />
</EditItemTemplate>--%>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("readit") %>' OnCheckChanged="CheckBox1_CheckedChanged" AutoPostBack="true"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="White" ForeColor="#000066" />
<PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
<SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
</asp:GridView>
GridView控件填充正確,與複選框被正確顯示的值(即‘readit’字段是位字段,即布爾)。我試圖讓該腳本在單擊複選框時更新數據庫中的布爾值。目前,儘管我甚至無法讓腳本對點擊作出反應(甚至沒有MsgBox)。
這裏是我隱藏:
Public Partial Class enqur
Inherits System.Web.UI.Page
WithEvents CheckBox1 As CheckBox
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Public Sub CheckBox1_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
MsgBox("test")
End Sub
End Class
正如你可以看到我用WITHEVENTS玩,但似乎並沒有幫助。在上面的代碼中,我試圖得到的是點擊複選框的某種反應 - 但沒有任何反應(也沒有錯誤)。
我很難過。誰能幫忙?將不勝感激:)
感謝您的答覆。當我補充說,我仍然沒有得到任何反饋 - MsgBox不工作:( – melat0nin 2010-11-21 13:59:31