读书人

后台读取数据库前台绑定到页面出错

发布时间: 2012-08-13 13:21:53 作者: rapoo

后台读取数据库,前台绑定到页面,出错了…………帮我看看吧
功能是想读取新闻内容。后台读取数据库,前台绑定到页面,出错了……

后台代码:
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["dbConnectionString"].ToString());
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString.ToString() != "")
{
string rqs = Request.QueryString["news_ID"];
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select [news_title] from [news] where [news_ID] =" + rqs;
Page.DataBind();
conn.Close();
}
else {
Page.ClientScript.RegisterStartupScript(this.Parent.GetType(), "", "alert('请先选择新闻!');", true);
}
}


前台页面代码:
<div>新闻标题:<asp:TextBox ID="news_title" runat="server" Width="700px" Text='<%# DataBinder.Eval(Container.DataItem,"news_title") %>'></asp:TextBox></div>


错误提示:
“System.Web.UI.Control”不包含“DataItem”的定义,并且找不到可接受类型为“System.Web.UI.Control”的第一个参数的扩展方法“DataItem”(是否缺少 using 指令或程序集引用?)

[解决办法]
再说了,就一个TextBox,获取单独的一个值,定义一个public变量即可

C# code
public string content = string.Empty; SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["dbConnectionString"].ToString());  protected void Page_Load(object sender, EventArgs e)  {       if (Request.QueryString.ToString() != "")       {           string rqs = Request.QueryString["news_ID"];            conn.Open();             string strSQL = "select [news_title] from [news] where [news_ID] =" + rqs;            SqlDataAdapter adapter = new SqlDataAdapter(strSQL,con);            DataSet ds = new DataSet();            adapter.Fill(ds);            content = ds.Tables[0].Rows[0]["news_title"].ToString();             conn.Close();        }       else       {            Page.ClientScript.RegisterStartupScript(this.Parent.GetType(), "", "alert('请先选择新闻!');", true);        }  }
[解决办法]
以前看视频的时候。上面的教我们用 DataBinder.Eval(Container.DataItem,可是看了别人写的项目代码全是EVal<%# "..."%>就过去了。。。。
小菜鸟、、、、、
[解决办法]
你要用 数据绑定,你有绑定 控件没?
例如 我用 Repeater 控件
C# code
<asp:Repeater id="repeater1" runat="server"><ItemTemplate><div>新闻标题:<asp:TextBox ID="news_title" runat="server" Width="700px" Text='<%# Eval[color=#FF0000]("--这里用你数据库对应的列名--")%[/color]>'></asp:TextBox></div></ItemTemplate></asp:Repeater>
[解决办法]
你连SQL语句都写错了"select [news_title] from [news] where [news_ID] =" + rqs;
应该是
C# code
"select [news_title] from [news] where [news_ID] =‘" + rqs + “’”; 

读书人网 >asp.net

热点推荐