100分求高难度问题,动态创建的DataList怎么控制好位置,帮顶有分
就是我创建DataList的时候,我在前台是使用
<asp:Repeater id= "Repeater1 " runat= "server "> <ItemTemplate> <table border= "0 " cellpadding= "0 " cellspacing= "3 "> <tr> <td> <%#RepalceString(DataBinder.Eval(Container.DataItem, "ST_newscontent ").ToString())%> </td>
</tr> </table> </ItemTemplate> </asp:Repeater>
来绑定数据的
而 <%#RepalceString(DataBinder.Eval(Container.DataItem, "ST_newscontent ").ToString())%> 的意思是绑定的内容来自st_newscontent这个字段.
然后RepalceString()这个函数是我自己在后台里写的,其它就有动态创建
DataList的语句.然而我创建出来DataList,他不能在我想要的地方显示,而在最下面显示出来
如何我的本意是:aaa
bbb
CCC
<动态创建DataList,长100px 高80px>
DDD
EEE
FFF
他出来的效果却是:
aaa
bbb
CCC
DDD
EEE
FFF
<动态创建DataList,长100px 高80px>
也就是说他把所有要加载的东东先加载,然后再来创建我的DataList,有什么办法解决没?
昨天跟我上司说了一下,他说可以在后台保存的时候先创建一个容器控件来保存(例如Table)
要创建DataList的地方,然后再在前台动态加载的时候把DataList加载到容器里面去.
可是当我在测试使用Table tab1 = (Table)this.Repeater1.FindControl( "table1 ");
时发现tab1为空(注:table1为id值,这里我在后台保存时建立的)
所以也没能解决问题,能否告诉我一下怎么解决啊.
------解决方案--------------------顶吧
------解决方案--------------------直接拉里面个DataList得了,用的这么麻烦么
------解决方案--------------------如果是VS2005的话,直接拉一个placeholder
然后 PlaceHolder.controls.add(repeater)
------解决方案--------------------先用数据模拟下DataList的布局 再写代码
------解决方案--------------------Table 或PlaceHolder 肯定要有runat= "server "的
而且它是在某个ItemTemplate里,所以不能直接使用Table tab1 = (Table)this.Repeater1.FindControl( "table1 ");之类
应该在DataBound的事件里写
------解决方案--------------------RepalceString()这个函数的代码贴上来看一下!
------解决方案--------------------