请教个奇怪的问题
在gridview中有个摸班列,摸班列的功能是显示一个连接,后面的参数为随机数,如下:
http://www.......aspx?str=随机数
这个gridview有4行,按道理来说,应该产生4个随机数
可是奇怪就奇怪在,如果我设置断点一步一步的调式的话就可以产生4个随机数,如果不调式的话,每次刷新则只能产生2,3个随机数在摸班列中只是一个生成随机数的方法请问是怎么回事,应该怎么解决或者避免,在线等

解决方案 »

  1.   

    生成随机数大概可以用这样的写法:static Random rnd=new Random();static int RandomizeInteger(){ return rnd.Next(); }
      

  2.   

    代码是没问题的,因为我设置断点一步一步的执行,没出任何问题
    ——————————————————————————————————————————
    这很容易理解。Random是根据时钟产生随机数的,如果你每次执行都间隔很长时间,自然不会发现重复。
      

  3.   

    代码如下:
    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();
      

  4.   

    这很容易理解。Random是根据时钟产生随机数的,如果你每次执行都间隔很长时间,自然不会发现重复。
    ---------------------
    是这样啊。哦,那我得换个产生随机数的方法了
    有什么好的办法没?