首页 新闻 会员 周边 捐助

怎么和Repeater绑定的数据进行比较?例如【if(1==Eval( "id "))】

0
悬赏园豆:100 [已解决问题] 解决于 2009-10-12 08:35

一个问答功能~ 

先用session判断这是问题是否是本人提问的,是的话就显示“满意答案按钮” 再判断这个回答是否是自己的回答的,是就不显示“满意答案按钮”(自己不能选择自己,用session和绑定的回答者名进行比较) 


<% if (Convert.ToString(Session["account"]) == this.HiddenFieldName.Value) //我要做一个问答~ 先用session判断这是问题是否是本人提问 
{%> 
  <%# if(Convert.ToString(Session["account"])!= Eval("uaccount"))//回复人名字是否是自己的 
    {%> 
    <asp:Button ID="Button1" runat="server" Text="采纳为最佳答案" CommandName="Button1" CommandArgument=' <%# Eval("aid")%>' /> 
  <%} 
}%> 

就是这样~~ 喵~~喵~~ 

重点这句话啊= =

<%# if(Convert.ToString(Session["account"])!= Eval("uaccount"))

问题补充: 楼下这位达人最好稍微解释一下 如何使用- - 谢谢了~
GEASS的主页 GEASS | 初学一级 | 园豆:0
提问于:2009-10-10 17:16
< >
分享
最佳答案
0

if(Convert.ToString(Session["account"])!= (DataBinder.Eval(Container, "DataItem.uaccount")))
感觉还是把这部分逻辑封装在后台,前台只要用一个函数ShowCharByVars()来判断就可以了,可以参考
http://www.cnblogs.com/downmoon/archive/2007/12/28/1018433.html

附:DataBinder.Eval总结

 

一、DataBinder.Eval的基本格式

在绑定数据时经常会用到这个句程序:

1.<%# DataBinder.Eval(Container.DataItem,"xxxx")%>;

2.或者<%# DataBinder.Eval(Container,"DataItem.xxxx")%> ;

3.或者 <%# Eval("xb", "{0}") %> ;

4.或者 <%# ((DataRowView)Container.DataItem)["xxxx"]%> ;

据说这种方法的效率要比以上两种高。  

还要记住不要忘记导入名称空间System.Data,否则会生成错误信息。

<%@ Import namespace="System.Data" %>

 

二、DataBinder.Eval实现判断选择

<asp:TemplateColumn HeaderText="性别">

<ItemTemplate>

<asp:RadioButton runat="server" Checked='<%# ReturnBool(Convert.ToString(DataBinder.Eval(Container.DataItem,"IsParty")))%>' GroupName="dang" Text="是"/>

</ItemTemplate>

</asp:TemplateColumn>

cs里定义DGFormatSex方法(注意该方法不能是private!否则出错

protected string ReturnBool(string str)

{

if(str== "1")

return true;

else

return false;

}

通过上述方法就可以对RadioButton绑定了

 


收获园豆:100
邀月 | 高人七级 |园豆:25475 | 2009-10-10 17:28
其他回答(1)
0

没什么问题吧 注意一下类型转换

?:  我用过 没问题的。

Mr雨 | 园豆:1199 (小虾三级) | 2009-10-10 17:44
看不懂啊- -~ 请详细说明 感激不尽~~
支持(0) 反对(0) GEASS | 园豆:0 (初学一级) | 2009-10-10 17:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册