私はチェックボックスの列を持つGridViewを持っています(残りのGridViewはデータベースから取り込まれています)。私はAJAXを使ってさまざまな機能を実行していますが、私はちょうどOnCheckedChangedイベントを適切な場所で呼び出さないのですか?それは何らかの種類のUpdatePanelでラップする必要がありますか?私はまだこれがどのように動作するかについて本当に新しいです...基本的に私が目指しているのは、チェックボックスをオンにしたときにデータベースのビット値を変更することです。私はそれを行う方法の論理を知っている、私はちょうど私が正しい方法で私のOnCheckedChangedイベントに対処しているのか分からない。OnCheckedChangedイベントが起動しない
.CS
protected void CheckBoxProcess_OnCheckedChanged(Object sender, EventArgs args)
{
CheckBox checkbox = (CheckBox)sender;
GridViewRow row = (GridViewRow)checkbox.NamingContainer;
OrderBrowser.Text += "CHANGED";
}
}
の.aspx
<html xmlns="http://www.w3.org/1999/xhtml">
<asp:DropDownList runat="server" ID="orderByList" AutoPostBack="true">
<asp:ListItem Value="fName" Selected="True">First Name</asp:ListItem>
<asp:ListItem Value="lName">Last Name</asp:ListItem>
<asp:ListItem Value="state">State</asp:ListItem>
<asp:ListItem Value="zip">Zip Code</asp:ListItem>
<asp:ListItem Value="cwaSource">Source</asp:ListItem>
<asp:ListItem Value="cwaJoined">Date Joined</asp:ListItem>
</asp:DropDownList>
</div>
<div>
<asp:Label runat="server" ID="searchLabel" Text="Search For: " />
<asp:TextBox ID="searchTextBox" runat="server" Columns="30" />
<asp:Button ID="searchButton" runat="server" Text="Search" />
</div>
<div>
<asp:UpdatePanel ID = "up" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID = "orderByList"
EventName="SelectedIndexChanged" />
<asp:AsyncPostBackTrigger ControlId="searchButton" EventName="Click" />
</Triggers>
<ContentTemplate>
<div align="center">
<asp:GridView ID="DefaultGrid" runat = "server" DataKeyNames = "fName"
onselectedindexchanged = "DefaultGrid_SelectedIndexChanged"
autogenerateselectbutton = "true"
selectedindex="0">
<SelectedRowStyle BackColor="Azure"
forecolor="Black"
font-bold="true" />
<Columns>
<asp:TemplateField HeaderText="Processed">
<ItemTemplate>
<asp:CheckBox ID="CheckBoxProcess" runat="server" Enabled="true" OnCheckedChanged = "CheckBoxProcess_OnCheckedChanged" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
<asp:TextBox ID="OrderBrowser" columns="100" Rows="14" runat="server" Wrap="false" TextMode="MultiLine" ReadOnly = "true">
</asp:TextBox>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
チェックは2のよう秒間表示され、その後消えます。私はデータベース内の何も処理していないので、ちょうどその方法かもしれませんか? DBに特定の値がある場合には、チェックが表示されるか消えます。しかし、私のテストコードは、メソッドが呼び出されていることを示していません。 –
おそらく、機能をチェックするためにダミーデータを入力するだけの価値があります。 – JConstantine
私はそれをテストしていましたが、テストで何も表示されませんでした:( –