मुझे एक वेब एप्लिकेशन मिला, समस्या यह है कि लेबल में टेक्स्ट पहले क्लिक पर अपडेट नहीं होगा, मुझे दो बार बटन क्लिक करने की आवश्यकता है, मैं कोड को डिबग, और मुझे पता चला है कि लेबल दूसरा क्लिक के बाद जब तक डेटा recive नहीं करता है,एएसपी.नेट सी #, कुछ होने के लिए दो बार बटन दबाए जाने की आवश्यकता है
यहाँ मेरी कोड है:
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;
}
कुछ OT टिप्पणियाँ: - आप Convert.ToString (सत्र [ "खेल"]) क्या करने की जरूरत नहीं है। सत्र [नाम] एक वस्तु है इसलिए आपको इसे वापस डालना होगा: (स्ट्रिंग) सत्र ["गेम"] - आपको पैरामीर्टिज्ड एसक्यूएल में देखना चाहिए क्योंकि आप इंजेक्शन हमलों के लिए बहुत खुले हैं –
निश्चित रूप से पैरामीटरयुक्त एसक्यूएल में देखें। –