一个数据绑定问题,谢谢了
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
SqlDataAdapter sqlDa =new SqlDataAdapter();
SqlConnection conn=new SqlConnection ("Server=127.0.0.1;user id=sa;password=;Database=Northwind");
SqlCommand selectCmd =new SqlCommand("select lastname,firstname,title,address,homephone from employees") ;
selectCmd.Connection =conn;
sqlDa.SelectCommand =selectCmd;
DataSet ds =new DataSet ();
sqlDa.Fill(ds,"employees");
this.DataBind();
Response.Write(ds.Tables[0].Rows[1]["LastName"].ToString());
}
private void TextBox1_DataBinding(object sender, System.EventArgs e)
{
TextBox1.Text =ds.Tables[0].Rows[1]["LastName"].ToString();
}
---------------------------
问题1:
TextBox1_DataBinding事件我不知道怎么生成(创建?)?于是将TextBox1_TextChanged改为TextBox1_DataBinding
2:Page_Load 时Response.Write 是有值的。为什么TextBox1.Text中看不到值呢?没有出错
3:再一个如果我是在.aspx上写<INPUT
id=Text2 style="" type=text
value='<%# DataBinder.Eval(ds.Tables[0].DefaultView,"[0].LastName"%>' name=Text2>
这样的方式也不行。
问题比较多谢谢了 ,在线等,即刻结贴
问题点数:61、回复次数:20Top
1 楼Blue13845611035(曾经沧海难为水)回复于 2006-05-03 08:52:20 得分 3
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
SqlDataAdapter sqlDa =new SqlDataAdapter();
SqlConnection conn=new SqlConnection ("Server=127.0.0.1;user id=sa;password=;Database=Northwind");
SqlCommand selectCmd =new SqlCommand("select lastname,firstname,title,address,homephone from employees") ;
selectCmd.Connection =conn;
sqlDa.SelectCommand =selectCmd;
DataSet ds =new DataSet ();
sqlDa.Fill(ds,"employees");
this.DataBind();
Response.Write(ds.Tables[0].Rows[1]["LastName"].ToString());
TextBox1.Text =ds.Tables[0].Rows[1]["LastName"].ToString();
}
这样不能显示吗?
后面的用控件Top
2 楼Blue13845611035(曾经沧海难为水)回复于 2006-05-03 08:53:48 得分 2
后面的用HTML控件Top
3 楼Blue13845611035(曾经沧海难为水)回复于 2006-05-03 08:56:26 得分 2
3。本来就是变量不用加单引Top
4 楼fredlin(.net)回复于 2006-05-03 09:38:10 得分 0
TextBox1.Text =ds.Tables[0].Rows[1]["LastName"].ToString();
}
这样不能显示吗?
------------
这样可以。因为本来Response.Write 时也会有值
就是在DataBinding中不行
后面的用HTML控件
-------------------
用的是html 的控件<INPUT
id=Text2 style="" type=text
value=<%# DataBinder.Eval(ds.Tables[0].DefaultView,"[0].LastName")%> name=Text2>
。本来就是变量不用加单引
------------------------
加不加单引号应当不是问题
错误提示:
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
可是明明有值啊。为什么是空?
Top
5 楼antiking(生活就象拉大便有时顺畅有时不顺畅.)回复于 2006-05-03 09:47:43 得分 2
TextBox1.Text =ds.Tables[0].Rows[1]["LastName"].ToString();这样就可以显示你的数据了........Top
6 楼antiking(生活就象拉大便有时顺畅有时不顺畅.)回复于 2006-05-03 09:49:50 得分 2
不能显示的话你换成TextBox1.Text =ds.Tables["employees"].Rows[1]["LastName"].ToString();Top
7 楼fredlin(.net)回复于 2006-05-03 10:22:02 得分 0
在DataBinding中
TextBox1.Text =ds.Tables["employees"].Rows[1]["LastName"].ToString();
也不行
Top
8 楼jerrie_1()回复于 2006-05-03 10:31:58 得分 2
问题一:LZ可以跟踪调试TextBox1_DataBinding事件
问题二:跟踪调试就知道,当TextBox1_DataBinding事件时,ds为空值,LZ需要重新绑定数据,或保存到SESSION里面
问题三:与以上相似,LZ可以声明一个全局变量,再value=<%=str%>Top
9 楼antiking(生活就象拉大便有时顺畅有时不顺畅.)回复于 2006-05-03 10:38:20 得分 2
conn.Open();
你连接没有打开.Top
10 楼fredlin(.net)回复于 2006-05-03 18:41:09 得分 0
×××××我是楼主×××××
conn.Open();
你连接没有打开.
--------------------
试过没有用。
试过了TextBox1_DataBinding 上设断点,根本不会执行DataBinding事件。
是不是因为:TextBox1_DataBinding事件我不知道怎么生成(创建?)?于是将TextBox1_TextChanged改为TextBox1_DataBinding
HTML控件上value=<%=str%>这种方式不可以。看来都是因为没有触发DataBinding事件的原故
Top
11 楼fredlin(.net)回复于 2006-05-03 18:42:23 得分 0
HTML控件上value=<%=str%>这种方式可以 这种方式可以。但是用原来的<%# DataBinder.Eval。。。方法不行。
加点分Top
12 楼vividboy(参数1,参数2..)回复于 2006-05-03 19:05:30 得分 5
问题1: 你定义的ds是Page_Load中的局部变量;
Quote:
"DataSet ds =new DataSet ();"
你在TextBox1_DataBinding中是不能对其进行调用的;这个在编译的时候应该会出错的。(不知道是不是楼主没有把代码贴全)
问题2:TextBox1_DataBinding是可以自动添加的,就是TextBox的DataBinding事件。你如果仅仅改名字由于事件没有注册,当然是不会执行的。
希望对你有帮助 ^_^Top
13 楼antiking(生活就象拉大便有时顺畅有时不顺畅.)回复于 2006-05-03 21:03:18 得分 5
<INPUT
id=Text2 style="" type=text
value='<%# DataBinder.Eval(ds.Tables[0].DefaultView,"[0].LastName")%>' name=Text2>Top
14 楼antiking(生活就象拉大便有时顺畅有时不顺畅.)回复于 2006-05-03 21:04:22 得分 5
加昂单引号Top
15 楼fredlin(.net)回复于 2006-05-03 21:57:50 得分 0
××××我是楼主××××
TextBox1_DataBinding是可以自动添加的,就是TextBox的DataBinding事件。你如果仅仅改名字由于事件没有注册,当然是不会执行的。
----------
就是这个了。这个怎么做? 我是自已“仅仅改名字”的。
Top
16 楼tjw88560899()回复于 2006-05-04 09:51:29 得分 10
要注冊事件Top
17 楼fredlin(.net)回复于 2006-05-04 10:04:21 得分 0
要注冊事件
------------
怎么注册呢?Top
18 楼lixingjian()回复于 2006-05-04 10:17:14 得分 0
广告
JSP,ASP和ASP.NET朋友加入,一起研究学习之用!
群号:13156076
Top
19 楼loverdotnet(西瓜)回复于 2006-05-04 12:04:31 得分 1
mark
Top
20 楼vividboy(参数1,参数2..)回复于 2006-05-04 20:11:13 得分 20
你在设计模式下,选中TextBox后按F4,在出现的“属性”栏最上面选择一个“闪电”的标志,下面就会列举所有的与TextBox相关的事件,然后双击“DataBinding”项就可以了。
^_^Top




