我想從隨機選取的背景圖像(從4個圖像中選擇)出現爲asp.net面板的背景圖像。DIV上的隨機背景圖像
我遇到的問題是,在調試模式下單步執行代碼時,代碼的工作原理爲。一旦您在網站上運行代碼而不進行調試,所有圖像都是相同的。它幾乎就像隨機數沒有得到足夠快的拾取。
usercontrol位於數據列表的內部。
的用戶控件是這樣的:
<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
}
牛逼
我認爲你的東西!頁面引號「如果你使用相同的種子值兩次,你會得到相同的隨機數序列,隨機使用當前時間作爲種子。上面的代碼創建了幾個非常快速的連續實例,」當前時間「往往具有至少10ms的粒度,因此許多實例將共享相同的種子,從而創建相同的數字序列。「 我相信代碼正在執行,快速獲得與其他面板相同的時間碼「種子」,因此相同的圖像。我需要一個更強大的隨機方法。 – 2009-10-12 20:54:11
@Ian - 看看Jon的MiscUtility類有一個「Robust」隨機生成器。 (鏈接在帖子中)。我也編輯過這個帖子來包含他的代碼。 – 2009-10-12 21:28:42
@metro smurf,使用錯誤代碼解決了問題。感謝大家的幫助。 – 2009-10-12 21:47:38