我有一个Web应用程序,问题是标签中的文本在第一次单击时不会更新,我需要点击两次按钮。我调试了代码,并发现直到第二次单击后,标签才能接收到数据。
这是我的代码:
System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand();
System.Data.SqlClient.SqlConnection connection;
string CommandText;
string game;
string modtype;
bool filter;
protected void Page_Load(object sender, EventArgs e)
{
labDownloadList.Text = null;
//Session variables:
if (Session["Game"] != null)
{
game = Convert.ToString(Session["Game"]);
}
if (Session["ModType"] != null)
{
modtype = Convert.ToString(Session["ModType"]);
}
if (Session["FilterBool"] != null)
{
filter = Convert.ToBoolean(Session["FilterBool"]);
}
string ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\inetpub\\wwwroot\\stian\\App_Data\\Database.mdf;Integrated Security=True;User Instance=True";
connection = new System.Data.SqlClient.SqlConnection(ConnectionString);
System.Data.SqlClient.SqlDataReader reader;
command = connection.CreateCommand();
connection.Open();
CommandText = "SELECT * FROM Command";
if (filter)
{
CommandText = "SELECT * FROM Command WHERE Game='" + game + "' AND Type='" + modtype + "'";
}
command.CommandText = CommandText;
reader = command.ExecuteReader();
labDownloadList.Text = "";
while (reader.Read())
{
string game = reader.GetString(1);
string author = reader.GetString(2);
string downloadlink = reader.GetString(3);
string size = reader.GetString(4);
string description = reader.GetString(5);
string version = reader.GetString(6);
string screenshotlink = reader.GetString(7);
Int64 AmountDownloaded = reader.GetInt64(8);
labDownloadList.Text += "Game: " + game + "<br>";
labDownloadList.Text += "Author: " + author + "<br>";
labDownloadList.Text += "Size: " + size + "<br>";
labDownloadList.Text += "Description: " + description + "<br>";
labDownloadList.Text += "Version: " + version + "<br>";
labDownloadList.Text += "<img src='" + screenshotlink + " /><br>";
labDownloadList.Text += "Downloaded: " + AmountDownloaded + " times<br><hr>";
labDownloadList.Text += "<a href='" + downloadlink + "'>Download</a><br>";
}
}
protected void Page_UnLoad(object sender, EventArgs e)
{
Session["Game"] = game;
Session["ModType"] = modtype;
Session["FilterBool"] = filter;
connection.Close();
}
protected void btnFilter_Click(object sender, EventArgs e)
{
game = lstGames.SelectedValue;
modtype = lstTypeMod.SelectedValue;
filter = true;
}