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();
}
}
答案 0 :(得分:1)
Page.IsPostBack将始终为true,在这种情况下,它只会在首页加载时为false。因为这个条件在按钮点击事件处理程序页面内.IsPostBack永远不会为假,所以else部分永远不会被执行。
以下是有关Page.IsPostBack属性的一些文档
http://msdn.microsoft.com/en-us/library/system.web.ui.page.ispostback.aspx
如果您需要在首页加载时执行代码,则只应使用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();
}
}
答案 1 :(得分:0)
看起来第一个其他人不会因以下任何原因被调用:
TextBox1.Text
没有任何价值Page.IsPostBack
是真的尝试检查那些,你可能会找到答案。