一个很简单的查询页面,有一个textbox用于输入关键字,一个button提交,一个gridview用于显示查询结果,但运行时总是显示不出表中第一行记录,当查询结果只有一条时,gridview就什么也不显示,连表头也看不见;查询结果多条时不显示第一条记录,后面的记录可以显示出来,这是怎么回事?请大家帮忙解答,谢谢了,我刚接触asp.net2 ,急急急! 代码如下:
Default.aspx:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页 </title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
</tr>
<tr>
<td style="width: 100px">
<asp:TextBox ID="cph" runat="server"> </asp:TextBox> </td>
<td style="width: 100px">
<asp:Button ID="cx" runat="server" OnClick="cx_Click" Text="查询" /> </td>
<td style="width: 100px">
</td>
</tr>
<tr>
<td colspan="3">
<asp:GridView ID="GridView1" runat="server" >
</asp:GridView>
</td>
</tr>
</table>
</div>
</form>
</body>
</html> Default.aspx.cs代码如下:using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void cx_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
con.Open();
//string cmdtext = "select * from view1 where car_hphm='"+cph+"'";
string ph = cph.Text.ToString();
string cmdtext = "select * from car_memer where car_hphm='"+ph+"'";
//string cmdtext = "select * from car_memer";
SqlCommand cmd = new SqlCommand(cmdtext,con);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
Response.Write("查询到数据");
this.GridView1.DataSource = dr;
this.GridView1.DataBind();
dr.Close();
con.Close();
}
else
{
Response.Write("没有查询到数据");
}
}
}
Default.aspx:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页 </title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
</tr>
<tr>
<td style="width: 100px">
<asp:TextBox ID="cph" runat="server"> </asp:TextBox> </td>
<td style="width: 100px">
<asp:Button ID="cx" runat="server" OnClick="cx_Click" Text="查询" /> </td>
<td style="width: 100px">
</td>
</tr>
<tr>
<td colspan="3">
<asp:GridView ID="GridView1" runat="server" >
</asp:GridView>
</td>
</tr>
</table>
</div>
</form>
</body>
</html> Default.aspx.cs代码如下:using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void cx_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
con.Open();
//string cmdtext = "select * from view1 where car_hphm='"+cph+"'";
string ph = cph.Text.ToString();
string cmdtext = "select * from car_memer where car_hphm='"+ph+"'";
//string cmdtext = "select * from car_memer";
SqlCommand cmd = new SqlCommand(cmdtext,con);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
Response.Write("查询到数据");
this.GridView1.DataSource = dr;
this.GridView1.DataBind();
dr.Close();
con.Close();
}
else
{
Response.Write("没有查询到数据");
}
}
}
实现用户查询功能只能在button_click函数里写上面的代码吗?这样体现不出asp.net2.0有多方便啊,我发现用鼠标拖动的方式给gridview配置一个数据源,数据源的select语句的where子句可以选择为textbox的值,但是如何用button触发查询呢?或者还有别的更好的方法实现这种用户查询功能?请不吝赐教,我看的书上都没有这种例子啊