如何在Repeater Itemtemplate中执行服务器代码? [英] How to execute server code in Repeater Itemtemplate ?

查看:84
本文介绍了如何在Repeater Itemtemplate中执行服务器代码?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在下面的Repeater itemtemplate中执行 if 语句



I want to execute if statement in Repeater itemtemplate like below

<Repeater>
   <Itemtemplate>
      <% if(DataBinder.Eval(Container.DataItem, "item").ToString() == "something") { %>

      <% } %>
   <Itemtemplate>
</Repeater>





上面的代码是错误的,因为 DataBinder.Eval(Container.DataItem,item )无法嵌套在< %%>中,我想知道如何在< %%>中使用 Eval 项目阻止。



the code above is wrong, because the DataBinder.Eval(Container.DataItem, "item") can't be nested in <% %>, I want to know how can I use Eval items in <% %> block.

推荐答案

阅读本文关于包含不同内容的不同服务器标签 - http://weblogs.asp.net/ahmedmoosa/embedded-code-and-inline-server-tags [ ^ ]

问题在于你使用< %%> if(很好)和Eval(不好)。如果你必须这样做(而不是使用服务器端事件)你必须使用一些其他形式从数据中检索值而不是Eval ...

类似于DataTabe.Rows [0 ] [column] ...
Read this article about different server tags for including different content - http://weblogs.asp.net/ahmedmoosa/embedded-code-and-inline-server-tags[^]
You problem is that you use <% %> with if (which is good) and with Eval (which is not good). If you have to do it this way (and not using server side events) you have to use some other form of retrieving the value from the data than Eval...
Something like DataTabe.Rows[0]["column"]...


您将要使用其中一个事件,而不是尝试在ASPX中执行此操作。例如,您可以使用ItemDataBound事件:



http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.repeater(v = vs.110)。 aspx [ ^ ]
You'll want to use one of the events instead of trying to do it in ASPX. For example, you could use the ItemDataBound event:

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.repeater(v=vs.110).aspx[^]


这篇关于如何在Repeater Itemtemplate中执行服务器代码?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆