public partial class StudentView : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(WebConfigurationManager.ConnectionStrings["DBCS"].ConnectionString);
protected void Button1_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(TextBox1.Text))
{
string str = "Mysqlqeury";
con.Open();
SqlCommand cmd = new SqlCommand(str, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
if (Page.IsPostBack)
{
da.Fill(ds, str);
GDStudents.DataSource = ds;
GDStudents.DataBind();
}
else
{
string myStringVariable1 = "No Student Record(s) Exist!! ";
ClientScript.RegisterStartupScript(this.GetType(), "myAlert", "alert('" + myStringVariable1 + "');", true);
}
}
else
{
string myStringVariable = "Enter Student Id Or Student Name!";
ClientScript.RegisterStartupScript(this.GetType(), "myAlert", "alert('" + myStringVariable + "');", true);
}
con.Close();
}
}
回答
Page.IsPostBack將始終爲true,在這種情況下它只會在首頁加載時爲false。因爲這個條件在一個按鈕點擊事件處理程序中,所以Page.IsPostBack永遠不會是false,所以else部分永遠不會被執行。
這裏是Page.IsPostBack屬性
http://msdn.microsoft.com/en-us/library/system.web.ui.page.ispostback.aspx
你,如果你需要在第一頁加載執行代碼只應該4.使用Page.IsPostback一些文檔。
究竟是什麼原因試圖在這裏測試?
如果您只想測試數據庫中是否有任何記錄,那麼只需檢查您要返回的DataSet是否爲空。試試這樣的:
public partial class StudentView : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(WebConfigurationManager.ConnectionStrings["DBCS"].ConnectionString);
bool IsDataSetEmpty(DataSet dataSet)
{
foreach(DataTable table in dataSet.Tables)
{
if (table.Rows.Count != 0)
return false;
}
return true;
}
protected void Button1_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(TextBox1.Text))
{
string str = "Mysqlqeury";
con.Open();
SqlCommand cmd = new SqlCommand(str, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds, str);
if (!IsDataSetEmpty(ds))
{
GDStudents.DataSource = ds;
GDStudents.DataBind();
}
else
{
string myStringVariable1 = "No Student Record(s) Exist!! ";
ClientScript.RegisterStartupScript(this.GetType(), "myAlert", "alert('" + myStringVariable1 + "');", true);
}
}
else
{
string myStringVariable = "Enter Student Id Or Student Name!";
ClientScript.RegisterStartupScript(this.GetType(), "myAlert", "alert('" + myStringVariable + "');", true);
}
con.Close();
}
}
我編輯了我的答案,以包含替代解決方案以實現您的期望結果。如果有幫助,請將其標記爲答案。謝謝,祝你好運。 @Sugu –
是的,它的工作!,謝謝! – user72
它看起來像其他第一不會叫任何的理由如下:
TextBox1.Text
沒有任何價值Page.IsPostBack
是真的- 發生某種異常
試着檢查這些,你可能會發現一個swer。
爲什麼IsPostBack是真的?在聲明的其他部分沒有IsPostBack條件... 同樣,因爲它在一個按鈕上單擊,我會認爲它總是會回發 –
- 1. 輸出第一部分不同於第二部分
- 2. R:讀取第一列,然後讀取其餘的部分
- 3. 從一個文件,但第一線上讀讀書是錯誤
- 4. IF-ELSE條件 - 運行在ELSE部分
- 5. Python:if語句不執行else部分
- 6. BeautifulSoup不讀書內部分標記的HTML組件
- 7. 閱讀第三方配置部分
- 8. 形式(第一部分) - 內容 - 形式(第2部分)
- 9. UITable第一部分內置
- 10. mysql部分查詢兩部分,命令顯示第一部分的結果,第一部分
- 11. meld:使一部分只讀
- 12. 使用HTTP讀取文件的第一部分
- 13. 閱讀Java輸入流的第一部分
- 14. 從文本文件中讀取第一個數組部分php
- 15. getline()不讀取第一行
- 16. Jekyll不讀書site.posts
- 17. 第10部分
- 18. 的Facebook不讀書在一些網頁
- 19. 補充代碼「在Java中的算法,第5部分」一書(塞奇威克)
- 20. 閱讀部分
- 21. 我不明白第3部分「建立模型」的書呆子晚餐教程
- 22. 是什麼第一和第二書面
- 23. 第一次加載Grails外部配置讀取不正確
- 24. 正則表達式在第二部分找到字符串的第一部分?
- 25. 檢索線的第二部分的第一部分相匹配時恰好
- 26. 的Oracle SQL - CASE WHEN THEN ELSE忽略ELSE部分
- 27. 如果else語句沒有達到else部分
- 28. Android autoCompleteTextView找不到第一個適配器字符串的第一部分
- 29. 部分的編號僅出現在第一部分中
- 30. TouchEvent同時執行if和else部分
文本框的值是字符串或整數 – user72
你可以稍微花更多的精力來編寫你的問題嗎? – JohnFx
你測試什麼場景?你必須在這裏更具體。第一個人是什麼意思? –