求助ASP.NET 2.0中Eval()的用法,很急!
我想编程给一堆名字连续的控件赋值,刚开始看到Eval(),不知道到底怎么用,写了下面一段东西:
int i;
for (i = 1; i <= 5; i++)
{
Eval( "Label " + i.ToString()+ ".Text = "+i);
}
写完了调试的时候光标停在Eval( "Label " + i.ToString()+ ".Text = "+i);这一句上,提示说是“Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用。”
在ASP.NET 2.0中Eval只能是从绑定的数据源中读出数据吗?我想做的事情就是把几个数据从数据源里读出来,赋给Label1到Label5,也可能是给他们加上不同的链接。如果哪位高手看我写的不靠谱的话贴段代码上来也行,谢过各位了!
------解决方案--------------------C# 里的 Eval()是数据控件绑定的时候用的。与JS中的Eval()方法不同。
这种情况 我是把要赋值的Label搞成个数组 Label[] lab,然后在赋值。
------解决方案-------------------- <%# DataBinder.Eval(Container.DataItem, "Price "%>
<%# DataBinder.Eval(Container.DataItem, "Price ", "{0:c} ") %>
这是Eval的用法
自己去msdn上看说明
------解决方案--------------------Eval 的绑定是要有数据源的
你的这种直接赋值就可以了,如果控件名是你例子中那种变化的,可以使用findcontrol
------解决方案--------------------for i=1 to 10
dim tb as textbox=findcontrol( "textbox " & i)
if tb.text.tostring <> " " then
...........................
end if
next
=======================
使用这个函数findcontrol()
我用的VB写的,C#的写法类似
关键就是这个函数怎么使用了
哈哈
------解决方案--------------------我用的是获取空间值,你正好相反,所以是一样的,至要你看明白我的代码你就会自己写了
努力啊
以后要多帮助其他人
------解决方案--------------------Eval用也是在前台用的
------解决方案--------------------多做.多问.祝你好运
------解决方案--------------------还可以
用repeater控件
只在模板里用一个lable </b>
然后把要绑定的数据放到数组里 和 repeater绑定就行 了
试着答第二个问题
因为 界面是用xml标准的语言描述的
界面元素间有嵌套包含关系
在后台用C#控制界面时
先找到父元素 才能找到子元素
先前没有MasterPage ,所以是 page中就包含HyperLink1
后来有MasterPage ,HyperLink1放在了Content1里 ,所以先找到 Content1 ,再findcontrol
是不是这么回事