后台读取数据库,前台绑定到页面,出错了…………帮我看看吧
功能是想读取新闻内容。后台读取数据库,前台绑定到页面,出错了……
后台代码:
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变量即可
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 控件
<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;
应该是
"select [news_title] from [news] where [news_ID] =‘" + rqs + “’”;