با سلام
4 عدد تابع نوشتم، برای اینکه به طور تصادفی 4 عدد مجزا تولید شود، و سپس از جدول عکس ها عکسی که idآن با عدد تولید شده یکی است را در یک گرید ویو نمایش دهد
راه اصولی که از تولید عدد تکراری جلوگیری کند چیست؟
public void Bindgridview1()
{
//rndpic = (Random() * 5);
Random rand = new Random();
int rndpic = 0;
rndpic = rand.Next(1, 292);
TextBox1.Text = rndpic.ToString();
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrin gs["pisoftConnectionString"].ConnectionString.ToString());
string query = "select * from pics where id=@id";
SqlCommand cmd = new SqlCommand(query, con);
cmd.Parameters.AddWithValue("@id", rndpic);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
GridView1.DataSource = dr;
GridView1.DataBind();
//GridView3.DataSource = dr;
//GridView3.DataBind();
dr.Close();
con.Close();
}
سوال بعدی اینکه
در page loadبرای نمایش عکس ها به این صورت توابع را اجرا می کنم.میخوام با کلیلک روی دکمه جدید عکس های جدید نمایش دهد.که این کار انجام نمی شود.حتی با رفرش مجدد صفحه هم تغییری در عکس ها انجام نمی شود. ایراد کار کجاست؟البته برای بررسی تکراری نبودن، اعداد تصادفی ایجاد شده که داخل textbox ها ریخته شده را چندین بار با هم مقایسه کرده ام ! که البته میدانم راه اصولی نیست. چون در یک مورد تکراری نمایش می دهد.
if (!IsPostBack)
{
while (TextBox1.Text ==TextBox2.Text )
{
Bindgridview2();
Bindgridview1();
}