为了账号安全,请及时绑定邮箱和手机立即绑定

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

/ 猿问

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

陪伴而非守候 2018-12-07 03:37:42

一个问答功能~ 

先用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"))

查看完整描述

3 回答

?
慕丝7291255

TA贡献1667条经验 获得超9个赞

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绑定了

 


查看完整回答
反对 回复 2019-01-21
?
慕娘9325324

TA贡献1644条经验 获得超7个赞

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

?:  我用过 没问题的。

查看完整回答
反对 回复 2019-01-21
?
ITMISS

TA贡献1648条经验 获得超9个赞

看不懂啊- -~ 请详细说明 感激不尽~~
查看完整回答
反对 回复 2019-01-21
  • 3 回答
  • 0 关注
  • 268 浏览
我要回答

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信