Repeater中的条件判断,以及嵌套判断if...else...

部署运行你感兴趣的模型镜像

同样遇到了在Repeater绑定数据过程中增加判断的问题,百度了一下,看了几篇文章,大有收获,遂整理后,结合自己的内容,加以发布,共同分享!

 

http://www.newasp.net/tech/asp/14018.html

 

http://space.cnblogs.com/question/9741/

 

http://www.z6688.com/info/34246-1.htm

 

执行判断总结起来有两种方式:

一种是

--<%# DataBinder.Eval(Container.DataItem, "[/"User_Answer/"]").ToString()!=""?"a":"b"%>

--适合简单判断,Yes Or NO

另一种是将数据发到后台处理

--引用http://space.cnblogs.com/question/9741/里面的内容

--前台代码

<asp:TemplateColumn HeaderText="性别">

<ItemTemplate>

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

</ItemTemplate>

</asp:TemplateColumn>

--后台代码

protected string ReturnBool(string str)

{

if(str== "1")

return true;

else

return false;

}

上面的在为RadioButton增加动态Id时会出问题, 不如使用<input type="radio">方便

下面是我的代码:

--前台

  --使用下面的后台方法输出<Input Radio>

 <%# CreateSelectRadio((DataRow)Container.DataItem) %>     

  --下面是Radio的Text                
 <%# DataBinder.Eval(Container.DataItem, "[/"Option_id/"]")%>.<%# DataBinder.Eval(Container.DataItem, "[/"Option_text/"]")%>    

--后台代码

-----里面增加了子数据行与父数据行之间的判断。

protected string CreateSelectRadio(DataRow dr)
    {
        DataRow drParent = dr.GetParentRow("rel_question");
        string sRadio = "<input type='radio'";
        sRadio += " id='radio" + dr["Question_id"].ToString() + "_" + dr["Option_id"].ToString() + "'";
        sRadio += " name='radio" + dr["Question_id"].ToString() + "'";
        if (dr["Option_id"].ToString() == drParent["User_Answer"].ToString())
            sRadio += " checked";
        sRadio += " onclick='setOptionValue(/"div" + dr["Question_id"].ToString() + "/",/"" + dr["Option_id"].ToString() + "/")'";
        sRadio += "/>";
        return sRadio;
    }

 

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

java.lang.NullPointerException at com.htsc.service.AntiMoneyLaunderingService.getAdressType(AntiMoneyLaunderingService.java:246) at com.htsc.service.AntiMoneyLaunderingServiceTest.testGetAdressType(AntiMoneyLaunderingServiceTest.java:494) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.mockito.internal.runners.JUnit45AndHigherRunnerImpl.run(JUnit45AndHigherRunnerImpl.java:37) at org.mockito.runners.MockitoJUnitRunner.run(MockitoJUnitRunner.java:62) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:231) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
最新发布
11-19
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值