私はsqldatareaderを使ってページロード時のページにSQLデータを吐き出しましたが、ページ全体をリフレッシュせずに新しい結果セットからユーザーにデータをリフレッシュするjqueryボタンのクリック機能を追加したいと思います。ASP.NETでページを更新することなく、sqldatareaderデータのjquery/ajaxを更新するにはどうすればよいですか?
私は初心者ですが、どこから始めたらいいか分かりません。
私は私が持っている私のASPX
<div id="blockOver">
<% while (Reader.Read()) {
string filename = Reader.GetString(1);
string date = Reader.GetSqlDateTime(3).ToString();
string filetype = Reader.GetString(4);
Int32 height = (Int32)Reader.GetSqlInt32(5);
Int32 width = (Int32)Reader.GetSqlInt32(6);
string uploadGroup = Reader.GetString(7);
string title = Reader.GetString(8);
string uniqueID = Reader.GetString(9);
string uploader = Reader.GetString(10);
string uniqueIDnoExt = Reader.GetString(12);
%>
<div class="block">
<a href="#t=<%= uniqueID %>" onmouseover="defaultJs.displayInfo ('<%= title %>', '<%= date %>', '<%= filetype %>', '<%= uniqueIDnoExt %>')" onclick="defaultJs.showFile('<%= title %>', '<%= date %>', '<%= filetype %>', '<%= uniqueIDnoExt %>', '<%= uniqueID %>')" onmouseout="defaultJs.hideInfo()">
<img title="<%= title %>" src="thumbs/<%= uniqueIDnoExt %>.jpg" />
</a>
</div>
<% } %>
と私のASPX.CS中で、次のDIVのコンテンツを持っている:
public partial class _Default : System.Web.UI.Page
{
private SqlDataReader reader = null;
public SqlDataReader Reader { get { return reader; } set { reader = value; } }
protected void Page_Load(object sender, EventArgs e)
{
string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
SqlCommand command = new SqlCommand("SELECT * FROM uploads ORDER BY id DESC", connection);
command.Parameters.Add(new SqlParameter("uploader", "anonymous"));
Reader = command.ExecuteReader();
}
}
これは、ページの読み込みにデータをロードするために働きます、私は今、jquery/ajaxを組み込んでjquery呼び出しでこのデータをリフレッシュできるようにしました。ページ全体をリフレッシュする必要はありません。
私はこれをどこから始めるべきかわかりません。私はそれが皆さんにとって第二の性質だと確信しています。誰かが簡単なソースを教えてくれたり、サンプルコードを提供することができますか?本当に感謝しています。
まず、コードとコンテンツ(HTML)を混在させないでください。これにより、ページの読み込みや管理が難しくなります。また、あなたも組み込みSQLを使用していますが、これもうまくいきません - CommandType.StoredProcedureタイプのコマンドオブジェクトでストアドプロシージャを使用する方がはるかに良いです。 – CompanyDroneFromSector7G
仲間のプログラマーからのヒント:数値インデックスを使用してリーダー値を取得しないでください。名前付き検索を使用します。 – Haoest