使用内联代码在转发器中将visible设置为true

时间:2014-01-28 21:35:23

标签: asp.net random

我需要在转发器中将行的可见行(索引在2到7之间)随机设置为true。

当项目索引等于随机数时,我试图声明一个随机数,然后将其设置为true

<div id="divSomething" runat="server" class="pull-center" visible=<%# (int r = new Random().Next(2, 7)) == Container.ItemIndex + 1) ? true : false %>>

但是不起作用。还有其他方法可以达到这个目的吗?

2 个答案:

答案 0 :(得分:2)

你需要将visible属性放在单引号中,同时创建一个内联变量,这样做真的很不寻常,你不需要内联评估。我会在类后面的代码中创建一个公共成员变量;

public partial class WebForm1 : System.Web.UI.Page
{
    public int r 
    {
        get
        {
            return (int)(new Random().Next(2, 7));
        }

    }

    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

然后在转发器中:

<div id="divSomething" runat="server" class="pull-center" visible='<%# r ==(Container.ItemIndex + 1) %>' >

答案 1 :(得分:0)

不确定这是否可行但是尝试在visible属性中添加一些引号:

<... Visible='server code here' ...>