gridview を含む asp.net Web ページを作成しました。(コードからではなく) ツールボックスからドラッグをドロップしたときに gridview コントロールが提供する手順を使用して、gridview をアクセス データベースにバインドしました。このページは実際にはサーバーにあります。クライアント (別の Web ページ) で更新を行うと (データベースのレコードを追加または削除するなど)、データベースの値は変更されますが、グリッドビューは変更を反映しません。サーバーで更新した場合にのみ、変更がクライアント側に表示されます。助けてください。
質問する
817 次
3 に答える
1
これを実現する最善の方法は、SignalRを使用することです。
次のチュートリアルでは、サーバー ブロードキャストを実装する方法についてのアイデアを提供します。
例については、ここをクリックしてください。
于 2013-07-26T04:03:07.657 に答える
1
asp.net ajax タイマーコントロールを使用して、ページまたはページの一部を定期的に更新できます。次の例は、サーバー時刻を 5 秒ごとに更新できることを示しています。同様に、 を更新しGridView
ます。
HTML
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:Timer runat="server" id="UpdateTimer" interval="5000" ontick="UpdateTimer_Tick" />
<asp:UpdatePanel runat="server" id="TimedPanel" updatemode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger controlid="UpdateTimer" eventname="Tick" />
</Triggers>
<ContentTemplate>
<asp:Label runat="server" id="DateStampLabel" />
</ContentTemplate>
</asp:UpdatePanel>
コードビハインド
protected void UpdateTimer_Tick(object sender, EventArgs e)
{
DateStampLabel.Text = DateTime.Now.ToString();
}
于 2013-07-26T03:14:34.267 に答える
0
ありがとうございました。以下のコードは私のために働いた:
aspx ページ:
<asp:Panel ID="Panel2" runat="server" Height="146px" Style="z-index: 100; left: 382px;
position: absolute; top: 247px" Visible="true" Width="235px">
<asp:Label ID="deptlabel" runat="server"
style="z-index: 1; left: 0px; top: 33px; position: absolute" Text="Label"
Visible="False"></asp:Label>
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="SqlDataSource1" Style="z-index: 100; left: -146px;
position: absolute; top: 216px; height: 374px; width: 1024px;" AllowSorting="True"
CellPadding="3" AllowPaging="True" BackColor="#DEBA84" BorderColor="#DEBA84"
BorderStyle="None" BorderWidth="1px" CellSpacing="2">
<Columns>
<asp:TemplateField HeaderText="Delete">
<ItemTemplate>
<asp:CheckBox ID="chkDelete" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="bid" HeaderText="bid"
SortExpression="bid" />
<asp:BoundField DataField="did" HeaderText="did" SortExpression="did" />
<asp:BoundField DataField="bname" HeaderText="bnme"
SortExpression="bname" />
<asp:BoundField DataField="author" HeaderText="athr"
SortExpression="author" />
<asp:BoundField DataField="price" HeaderText="cost"
SortExpression="price" />
<asp:BoundField DataField="edition" HeaderText="editn"
SortExpression="edition" />
<asp:BoundField DataField="category" HeaderText="ctgry"
SortExpression="category" />
<asp:BoundField DataField="publisher" HeaderText="publsr"
SortExpression="publisher" />
<asp:BoundField DataField="status" HeaderText="stat"
SortExpression="status" />
<asp:BoundField DataField="acpr" HeaderText="acpr" SortExpression="acpr" />
<asp:BoundField DataField="volume" HeaderText="vol"
SortExpression="volume" />
<asp:BoundField DataField="ref" HeaderText="ref" SortExpression="ref" />
<asp:BoundField DataField="pages" HeaderText="pgs" SortExpression="pages" />
</Columns>
<RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" />
<FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
<PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" />
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:con %>"
SelectCommand="SELECT DISTINCT * FROM [books] WHERE ([bid] LIKE '%' + @bid + '%')">
<SelectParameters>
<asp:ControlParameter ControlID="deptlabel" Name="bid" PropertyName="Text"
Type="String" />
</SelectParameters> </asp:SqlDataSource>
</asp:Panel>
<asp:Label ID="Label9" runat="server" Font-Size="XX-Large" ForeColor="#C04000" Style="z-index: 102;
left: 492px; position: absolute; top: 256px; width: 678px;"
Text="BOOKS REMOVE"></asp:Label>
default.aspx.cs:
protected void Timer1_Tick(オブジェクト送信者, EventArgs e) {
GridView1.DataBind();
}
于 2013-08-02T15:27:42.027 に答える