データベースのデータを表すプロジェクト用のテーブルを作成していますが、すべては問題ありませんが、最後の列にボタンが作成されず、理由がわかりません誰でも助けてくれますか?ボタンをc#からasp.netページに作成
私が使用していますasp.net 2010代わりにそれはASP.NET Table
コントロールを使用することの
public string getWhileLoopData()
{
string htmlStr = "";
Dictionary<string, string> dic2 = (Dictionary<string, string>)Session["CurrentUser"];
string ArmyName = dic2["UserName"].ToString();
SqlConnection sqlConnection1 = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|Database.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=true");
SqlCommand cmdd = new SqlCommand();
cmdd.Parameters.AddWithValue("@zip", ArmyName);
cmdd.CommandType = CommandType.Text;
cmdd.Connection = sqlConnection1;
sqlConnection1.Open();
cmdd.CommandText = "SELECT CityNum FROM [Users] where [email protected]";
int citynum = Convert.ToInt32(cmdd.ExecuteScalar());
SqlCommand cmd = new SqlCommand("SELECT CityRank, ArmyName, GuildName, Gold, Soliders FROM Users WHERE (CityNum = @num) ORDER BY CityRank", sqlConnection1);
cmd.Parameters.AddWithValue("@num", citynum);
cmd.Connection = sqlConnection1;
SqlDataReader reader = cmd.ExecuteReader();
int count = 1;
while (reader.Read())
{
int CityRank = reader.GetInt32(0);
string Name = reader.GetString(1);
string guild = reader.GetString(2);
int gold = reader.GetInt32(3);
int soliders = reader.GetInt32(4);
htmlStr += "<tr><td>" + CityRank + "</td><td>" + Name + "</td><td>" + guild + "</td><td>" + gold + "</td><td>" + soliders + "</td><td><asp:Button ID='" + Name + "' runat='server' Text='Attack' OnClick='AttClick_Clicks' /></td></tr>";
count++;
}
sqlConnection1.Close();
return htmlStr;
}
をあなたの遺伝子にサーバーサイドコードを使用しています評価されたHTML。このページのライフサイクルに遅すぎるコードを挿入すると、asp.netエンジンによって解釈されず、生成時にクライアントに送信されます。ブラウザはこれらのサーバーサイドタグを理解することができません。 – MarcoLaser
それから私は何をしますか? @MarcoLaser –
WebFormsを使用していると仮定します。ページのinit-Eventを使用してhtml要素をページのコントロールコレクションに追加することができます。ポストバックの場合、生成されたボタンのクリックイベントは受信されないため、ロード前に行う必要があります。 – MarcoLaser