Есть много вопросов по этому поводу, но я не смог решить свою проблему, используя ответы на какие-либо из них (после многих, многих попыток ..)
Я работаю в vb.создание веб-приложения asp.net.У меня есть 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).
Вот мой CodeBehind:
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, но это, похоже, не помогло.В приведенном выше коде все, что я пытался получить, - это какая-то реакция на нажатие флажка, но ничего не происходит (без ошибок).
Я довольно озадачен.Кто-нибудь может помочь?Буду очень признателен:)