日期:2014-05-18  浏览次数:20580 次

Repeater中Container.DataItem中的值能传递到变量中么
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<div class="menu"><%# DataBinder.Eval(Container.DataItem, "Title")%></div>
</ItemTemplate>
</asp:Repeater>

我现在想吧DataBinder.Eval(Container.DataItem, "Title")的值线传递到一个变量中,然后在适当的修改一下就像
string title=DataBinder.Eval(Container.DataItem, "Title");
然后我就可以对title编辑了

不知这样应该怎么写

------解决方案--------------------
不能 你要放到DataItemBound事件里来处理
------解决方案--------------------
既然你用了DataBinder那么后台肯定有数据库绑定的代码。如果你想对title编辑,你不如直接从数据库中读出来。
------解决方案--------------------
这样的话,就要在后台进行编辑,如果不是很麻烦的编辑,在前台直接操作DataBinder.Eval(Container.DataItem, "Title")也可以搞定。
------解决方案--------------------
不是,你得出的表不改动,只对表中的数据进行操作得到一个新的值,然后使用这个新的值,表中的数据并未改动。
其实跟你得想法一样,只是你得想法想利用前台的数据,现在的问题是,你的前台数据不能直接在后台用,所以你要把这个数据弄到后台来操作。
------解决方案--------------------
你可以这样来写
后台一个处理函数
然后前台相应代码处改为
类似<%# show_pic(DataBinder.Eval(Container.DataItem, "Prdt_code")) %>