DIV 上的随机背景图像
我正在尝试获取随机选取的背景图像(从 4 个图像中选择)作为 asp.net 面板的背景图像。
我遇到的问题是,在调试模式下单步执行代码时,代码可以工作。一旦您在网站上运行代码而不进行调试,所有图像都是相同的。就好像随机数没有足够快地被拾取一样。
用户控件位于数据列表内。
用户控件是这样的:
<asp:Panel ID="productPanel" CssClass="ProductItem" runat="server">
<div class="title" visible="false">
<asp:HyperLink ID="hlProduct" runat="server" />
</div>
<div class="picture">
<asp:HyperLink ID="hlImageLink" runat="server" />
</div>
<div class="description" visible="false">
<asp:Literal runat="server" ID="lShortDescription"></asp:Literal>
</div>
<div class="addInfo" visible="false">
<div class="prices">
<asp:Label ID="lblOldPrice" runat="server" CssClass="oldproductPrice" />
<br />
<asp:Label ID="lblPrice" runat="server" CssClass="productPrice" /></div>
<div class="buttons">
<asp:Button runat="server" ID="btnProductDetails" OnCommand="btnProductDetails_Click"
Text="Details" ValidationGroup="ProductDetails" CommandArgument='<%# Eval("ProductID") %>'
SkinID="ProductGridProductDetailButton" /><br />
<asp:Button runat="server" ID="btnAddToCart" OnCommand="btnAddToCart_Click" Text="Add to cart"
ValidationGroup="ProductDetails" CommandArgument='<%# Eval("ProductID") %>' SkinID="ProductGridAddToCartButton" />
</div>
</div>
背后的代码是这样的:
protected void Page_Load(object sender, EventArgs e)
{
// Some code here to generate a random number between 0 & 3
System.Random RandNum = new System.Random();
int myInt = RandNum.Next(4);
if (productPanel.BackImageUrl != null)
{
switch (myInt)
{
case 0:
productPanel.BackImageUrl = "../App_Themes/emmaharris/images/frame1.gif";
break;
case 1:
productPanel.BackImageUrl = "../App_Themes/emmaharris/images/frame2.gif";
break;
case 2:
productPanel.BackImageUrl = "../App_Themes/emmaharris/images/frame3.gif";
break;
case 3:
productPanel.BackImageUrl = "../App_Themes/emmaharris/images/frame4.gif";
break;
}
}
// End of new code to switch background images
}
T
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
有时,随机并不是真正的随机...
Jon Skeet 有一篇关于该主题的好文章: 为什么我一次又一次地从 Random 中得到相同的数字?
直接引用 Jon 有一次告诉我的话:
Jon Skeet 的杂项实用随机生成器
Sometimes, Random isn't really Random...
Jon Skeet has a good article on the topic: Why am I getting the same numbers out of Random time and time again?
To quote directly what Jon had told me one time:
Jon Skeet's Misc Utility Random Generator
您确定您的页面没有被缓存吗?在页面上查看源代码。
哦,应该有一些像 urand 或 srand 这样的函数来使 random 更加随机。
Are you sure your page isn't cached? Do a view source on page.
Oh and there should be some function like urand or srand to make random more random.
我想知道您是否在面板上进行了某种程度的缓存操作,这导致它无法在生产模式下通过服务器端处理运行。
I wonder if you have some level of caching operating on the panel which is causing it to not run through the server side processing in production mode.