PDA

View Full Version : سوال: مشكل با عمليات جستجو



veniz2008
شنبه 22 آبان 1389, 10:51 صبح
سلام دوستان،من ميخوام براي جستجو بدون گذاشتن دكمه از updatepanel استفاده كردم،به اينصورت كه textbox رو داخل updatepanel گذاشتم و براي رويداد textchanged اون كدهاي مربوط به جستجو رو گذاشتم،مشكل اينجاست كه با وارد كردن مقدار مورد نظر داخل textbox عمل جستجو انجام نميشه و حتما بايد كليد enter از طرف كاربر زده بشه تا نتيجه جستجو انجام بشه،درصورتيكه من ميخوام بصورت همزمان با ورود اطلاعات،نتيجه جستجو هم نشان داده بشه،بدون اينكه دكمه enter فشار داده بشه،مشكل كارم كجاست؟،لطفا راهنمايي كنيد.تشكر.

majnun
شنبه 22 آبان 1389, 11:06 صبح
کدت را بزار دوست من ببینم مشکل داره یا نه

pedram_ns
شنبه 22 آبان 1389, 12:58 عصر
خاصیت autopostback تکس باکس رو true کردی؟

محمد متاله
شنبه 22 آبان 1389, 13:08 عصر
به غیر از true کردن خاصیت AutoPostBack مربوط به DropDownList می بایست کنترلی را که جواب ها را نمایش می دهد را درون UpdatePanrl قرار دهی

Kia_MLS
شنبه 22 آبان 1389, 13:30 عصر
سلام دوستان،من ميخوام براي جستجو بدون گذاشتن دكمه از updatepanel استفاده كردم،به اينصورت كه textbox رو داخل updatepanel گذاشتم و براي رويداد textchanged اون كدهاي مربوط به جستجو رو گذاشتم،مشكل اينجاست كه با وارد كردن مقدار مورد نظر داخل textbox عمل جستجو انجام نميشه و حتما بايد كليد enter از طرف كاربر زده بشه تا نتيجه جستجو انجام بشه،درصورتيكه من ميخوام بصورت همزمان با ورود اطلاعات،نتيجه جستجو هم نشان داده بشه،بدون اينكه دكمه enter فشار داده بشه،مشكل كارم كجاست؟،لطفا راهنمايي كنيد.تشكر.

سلام
درسته، این رویداد زمانی اتفاق میوفته که focus از روی تکست باکس برداشته بشه
یعنی با زدن دکمه enter و یا tab
برای اینکه همزمان با ورود داده عمل جستجو انجام شه 2 راه وجود داره
1- استفاده از Ajax (البته نه به شکل معمولی که شما استفاده کرده اید)
2- استفاده از وب سرویس

veniz2008
شنبه 22 آبان 1389, 22:25 عصر
دوستان هم خاصیت autopostback رو true کردم و هم کنترلی که قراره نتیجه رو نشون بده داخل updatepanel هستش،ولی بازم حتما باید کلید enter یا tab رو بزنم تا نتیجه نمایش داده بشه،لطفا راهنمایی کنید.اینم کد:

strcon = ("Data Source = .\\wincc;Initial Catalog=US_DB;Integrated Security=True");
con = new SqlConnection(strcon);
cmd.Connection = con;
SqlCommand cmd1 = new SqlCommand();
cmd1.Connection = con;
cmd1.CommandText = "SELECT * FROM Student Where UserName Like '%" + TextBox1.Text + "%'";
con.Open();
SqlDataReader reader = cmd1.ExecuteReader();
if (reader.Read() == true)
{
Label2.Text = "object found";
}
else
{
Label2.Text = "چنین موردی یافت نشد";

Kia_MLS
یک شنبه 23 آبان 1389, 08:29 صبح
دوستان هم خاصیت autopostback رو true کردم و هم کنترلی که قراره نتیجه رو نشون بده داخل updatepanel هستش،ولی بازم حتما باید کلید enter یا tab رو بزنم تا نتیجه نمایش داده بشه،لطفا راهنمایی کنید.

دوست عزیز، شما باید از رویداد سمت کلاینت OnKeyUp استفاده کنی، مقدار جدید تکست باکس را با جاوااسکریپت خوانده و بوسیله وب سرویس یا آژاکس جستجو را انجام داده و نتیجه را نمایش دهید

در مورد وب سرویس و آژاکس هم توی همین سایت مطالب زیادی هست، سرچ کن