请教个奇怪的问题
在gridview中有个摸班列,摸班列的功能是显示一个连接,后面的参数为随机数,如下:
http://www.......aspx?str=随机数
这个gridview有4行,按道理来说,应该产生4个随机数
可是奇怪就奇怪在,如果我设置断点一步一步的调式的话就可以产生4个随机数,如果不调式的话,每次刷新则只能产生2,3个随机数在摸班列中只是一个生成随机数的方法请问是怎么回事,应该怎么解决或者避免,在线等
在gridview中有个摸班列,摸班列的功能是显示一个连接,后面的参数为随机数,如下:
http://www.......aspx?str=随机数
这个gridview有4行,按道理来说,应该产生4个随机数
可是奇怪就奇怪在,如果我设置断点一步一步的调式的话就可以产生4个随机数,如果不调式的话,每次刷新则只能产生2,3个随机数在摸班列中只是一个生成随机数的方法请问是怎么回事,应该怎么解决或者避免,在线等
——————————————————————————————————————————
这很容易理解。Random是根据时钟产生随机数的,如果你每次执行都间隔很长时间,自然不会发现重复。
aspx:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="520px" CellPadding="5" HorizontalAlign="Center" >
<Columns>
<asp:TemplateField HeaderText="听课">
<ItemTemplate>
<a href='....?str=<%#CreateLink((int)Eval("cl_id"))%>'>开始听课</a>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle HorizontalAlign="Center" />
<HeaderStyle HorizontalAlign="Center" />
</asp:GridView>cs代码中CreateLink()为: DateTime now = DateTime.Now;
Random Rnd = new Random();
StringBuilder str = new StringBuilder(Rnd.Next(10000000, 99999999).ToString());
str = str.Append(now.ToString("yyyyMMddHHmmss")).Append(Rnd.Next(10000000, 99999999).ToString());
return str.ToString();
---------------------
是这样啊。哦,那我得换个产生随机数的方法了
有什么好的办法没?