ボタンを押すとポップアップするjQueryダイアログがあります。そこに、データベースからの結果を含む GridView があります。検索した結果を表示する GridView を作成したいと考えています。したがって、 aasp:textbox
と aを追加しましたasp:button
。ボタンを押すと、データベースに接続する関数が呼び出され、結果が GridView に表示されます。したがって、基本的には、jQuery がポップすると、空の GridView (またはなし) が表示され、何かを検索すると結果が表示されます。ここに私のmain.aspxコードがあります:
<div id="ViewPlaces">
<asp:TextBox ID="viewPlaceTextbox" runat="server" placeholder="Search..." />
<asp:Button ID="viewPlaceBtn" OnClick="getSearchedPlace" runat="server" Text="Search for place" />
<asp:GridView ID="GridView1" AllowPaging="true" GridLines="None" CssClass="mGrid" PagerStyle-CssClass="pgr" AlternatingRowStyle="alt" runat="server" AllowSorting="True"
AutoGenerateColumns="False"
Width="750px"
CausesValidation="False" ShowHeaderWhenEmpty="true" ShowHeader="true">
<Columns>
<asp:BoundField DataField="place_id" HeaderText="Id" ReadOnly="True" />
<asp:BoundField DataField="place_name" HeaderText="Name" />
<asp:BoundField DataField="place_city" HeaderText="City" />
<asp:BoundField DataField="place_land" HeaderText="Land" />
<asp:BoundField DataField="place_desc" HeaderText="Description" />
</Columns>
</asp:GridView>
</div>
jQueryコードは次のとおりです。
$('#ViewPlaces').dialog(dialogOpts5);
$.fx.speeds._default = 500;
$(function () {
$("#ViewPlaces").dialog({
autoOpen: false,
show: "blind",
hide: "explode",
});
$("#viewallplaces").click(function () {
$("#ViewPlaces").dialog("open");
return false;
});
});
私のc#コードでは、.でデータベースから結果を取得する関数を呼び出さないとPage_Load
、jQueryダイアログを開くボタンを押したときにGridViewがロードされないという問題があります。それ以外の場合、関数は次のようになります。
protected void getPlaces()
{
List<Place> pl = new List<Place>();
pl = functions.getPlaces();
GridView1.DataSource = pl;
GridView1.DataBind();
}
getPlaces()
関数は場所のリストを返します。それは問題ではありません。動作し、私はそれをテストしました。