2
私のデータベースから値のセットを取得しています。私はHTMLテーブルを使用して、それらの取得された値を表示しています。これらはすべて関数を介して実行され、ASPXページからその関数を呼び出しています。私の質問は、aspxページで呼び出すのではなく、(On_Clickメソッドを使用して)ボタンを使用して同じ関数を呼び出す方法です。HTMLボタンを使用してメソッドを呼び出すASP .NET
C#のコードサンプル:
public string getWhileLoopData()
{
string htmlStr = "";
SqlConnection thisConnection = new SqlConnection(dbConnection);
SqlCommand thisCommand = thisConnection.CreateCommand();
thisCommand.CommandText = "SELECT * from Test";
thisConnection.Open();
SqlDataReader reader = thisCommand.ExecuteReader();
while (reader.Read())
{
int id = reader.GetInt32(0);
string Name = reader.GetString(1);
string Pass = reader.GetString(2);
htmlStr +="<tr><td>"+id+"</td><td>"+Name+"</td><td>"+Pass+"</td></tr>"
}
thisConnection.Close();
return htmlStr;
}
ASPXコードサンプル:
<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="~/test.master" CodeFile="test.aspx.cs" Inherits="test" %>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="ContentPlaceHolder">
<table width="100%" align="center" cellpadding="2" cellspacing="2" border="0" bgcolor="#EAEAEA" >
<tr align="left" style="background-color:#004080;color:White;" >
<td> ID </td>
<td> Name </td>
<td>Pass</td>
</tr>
<%=getWhileLoopData()%>
</table>
</asp:Content>
だから基本的に、私は、ASPXページ上のボタンを配置し、そのボタンを経由して
<%=getWhileLoopData()%>
を呼びたいです。
ありがとうございます。
あなたはそのようなページからコードビハインド関数を呼び出さないでください。初めに完全にロードさせてみませんか? – Alexander
ボタンを使用して、同じテーブルを使用して同じクエリを使用して同様のフェッチ操作を実行する必要がありました。たとえば、SELECT * FROM
「asp:button」を実装し、コードの後ろにクリックイベントのデータ(フィルタリング?)を実行しようとしましたか? – Alexander
答えて
コードビハインドファイルでHTML文字列を作成し、それを.ASPXファイルにレンダリングする代わりに、リピートHTMLをレンダリングするためにリピーターを使用します。リピータは高速で扱いやすい。ファイルの後ろに
あなたのコードで出典
2016-04-26 08:14:24
技術的には間違いありませんが、質問とは何か関係がありません。 – Alexander
Stringオブジェクトからhtmlを作成することは、ループ内の連結文字列がN個のオブジェクト参照を作成するのに適していません。それは良いアプローチではありません。 @Alexander –
オブジェクト参照はどのように作成されますか? – Alexander
一つの方法は、通常の
asp.net button
を使用してliteral
と
背後にあるコード上で結果をレンダリングすることです他の方法もあります...これはasp.netに最も近いです
出典
2016-04-26 09:46:00 Aristos
関連する問題