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

|M| Repeater绑定的一个过程如何来设置当前绑定的更一个控件的属性
前台Repeater绑定
<ItemTemplate>
<tr   id= "tr ">
      ...
      <td> <%#   GetPrice(Convert.ToInt32(Eval( "UserID ")))   %> </td>
      ...
</tr>
</ItemTemplate>
后台
protected   Decmail   GetPrice(Int32   UserID)
{
    ...   //在这里如何将他那一个绑的的tr   的   visible设置为false
}

------解决方案--------------------
一般的方法可以在前台动态绑定?
------解决方案--------------------
说的什么东西 没看明白
------解决方案--------------------
脚本控制应该会方便一些
------解决方案--------------------
或者在Repeater的ItemCreated给循环判断给item加属性应该可以
------解决方案--------------------
改为 runat=server
然后再后台写代码
------解决方案--------------------
两种方法:
1.
<ItemTemplate>
<tr id= "tr " style= 'display: <%# Haha(Eval( "某个字段 ").ToString())%> '>
...
<td> <%# GetPrice(Convert.ToInt32(Eval( "UserID "))) %> </td>
...
</tr>
</ItemTemplate>
后台代码
public string Haha(string str)
{
if(某个条件)
return "none ";//不显示
else
return " ";
}
2. <ItemTemplate>
<tr id= 'tr_ <%#Eval( "ID ")%> '>
...
<td> <%# GetPrice(Convert.ToInt32(Eval( "UserID "))) %> </td>
...
</tr>
<script> Haha( 'tr_ <%#Eval( "ID ")%> ', ' <%#Eval( "某个字段 ")%> '); </script>
</ItemTemplate>

<script>
function Haha(objId,str)
{
var obj=document.getElementById(objId);
if(..)
obj.style.display= 'none ';

}
</script>

------解决方案--------------------
<ItemTemplate>
<tr style= "display: <%# DataBinder.Eval(Container, "DataItem.Visible ") %> ">
...
<td> <%# GetPrice(Convert.ToInt32(Eval( "UserID "))) %> </td>
...
</tr>
</ItemTemplate>
后台

设置你要帮定的Table的列Visible的值为none或block
------解决方案--------------------
up
------解决方案--------------------
style= "display:none "

这样就可以隐藏了。
------解决方案--------------------
把上一级不可见?