【发布时间】:2013-08-09 14:48:50
【问题描述】:
我有一个包含 10 个 div 的 aspx 页面。每次页面刷新时,其中 6 个 div 需要随机定位。这些 div 中有很多内容,所以我必须避免使用 javascript 来执行此操作。有人告诉我,这可以使用 c# 中的代码隐藏来实现。 这是一个想法:
protected void Page_Load(object sender, EventArgs e)
{
var plantripsmall = new List<HtmlGenericControl> {
div1, div2
};
DrawShuffled(plantripsmall);
}
public void DrawShuffled(List<HtmlGenericControl> orig)
{
Random rnd = new Random();
var shuffled = orig.OrderBy(s => rnd.Next()).ToList();
int i = 0;
while (i < orig.ToArray().Length)
{
orig[i].InnerHtml = shuffled[i].InnerHtml;
i++;
}
}
但这并没有真正起作用。
Cannot get inner content of div2 because the contents are not literal
此外,我想避免控制
更新 问题似乎是我在第二个 div 中的包含文件:
<div runat="server" id="div2">
<!--#include virtual="files/hello.aspx" -->
...more content
</div>
你知道我将如何解决这个问题吗?
【问题讨论】:
-
您可以尝试将调用移至 PreRender 事件吗?
-
我试过了。同样的错误。我开始认为这不是正确的方法。
-
回发时会发生这种情况吗?
-
这不是回发页面
标签: c# asp.net random code-behind