sajad_boj70
پنج شنبه 28 شهریور 1392, 10:41 صبح
سلام.بچه ها من یک فرم جست و جو به شکل زیر دارم
110921
و از این کد برای جست و جو استفاده میکنم :
// نوع ملک
string v = Request.QueryString["city"];
var query = k.melk.Where(a => a.city == v).ToList();
if (DropDownList1.SelectedItem.Text == "همه")
{
query = query.ToList();
}
else
{
string noe = DropDownList1.SelectedItem.Text.ToString();
query = query.Where(a => a.melk1 == noe).ToList();
}
// نوع واگذاری
if (DropDownList2.SelectedItem.Text == "همه")
{
query = query.ToList();
}
else
{
string vag = DropDownList2.SelectedItem.Text.ToString();
query = query.Where(a => a.vagozari == vag).ToList();
}
// زیربنا
if (DropDownList4.SelectedItem.Text == "همه" && DropDownList7.SelectedItem.Text == "همه")
{
query = query.ToList();
}
else if (DropDownList4.SelectedItem.Text != "همه" && DropDownList7.SelectedItem.Text != "همه")
{
int x = int.Parse(DropDownList4.SelectedValue);
int y = int.Parse(DropDownList7.SelectedValue);
query = query.Where(a => int.Parse(a.zirbana) > x && int.Parse(a.zirbana) < y).ToList();
}
// خواب
if (DropDownList3.SelectedItem.Value == "همه")
{
query = query.ToList();
}
else if (DropDownList6.SelectedItem.Value != "همه")
{
int khab = int.Parse(DropDownList3.SelectedValue);
query = query.Where(a => int.Parse(a.khab) == khab).ToList();
}
// طبقه
if (DropDownList6.SelectedItem.Value == "همه")
{
query = query.ToList();
}
else if (DropDownList6.SelectedItem.Value != "همه")
{
int tabaghe = int.Parse(DropDownList6.SelectedValue);
query = query.Where(a => int.Parse(a.tabaghe) == tabaghe).ToList();
}
// قیمت
if (DropDownList2.SelectedItem.Value == "همه")
{
query = query.ToList();
}
else if (DropDownList2.SelectedItem.Text == "خرید و فروش")
{
int min = int.Parse(DropDownList8.Text);
int max = int.Parse(DropDownList9.Text);
query = query.Where(a => int.Parse(a.gheimat) > min && int.Parse(a.gheimat) < max).ToList();
}
else if (DropDownList2.SelectedItem.Value == "رهن کامل")
{
int min = int.Parse(DropDownList8.Text);
int max = int.Parse(DropDownList9.Text);
query = query.Where(a => int.Parse(a.rahn) >= min && int.Parse(a.rahn) <= max).ToList();
query = query.Where(a => a.vagozari == DropDownList2.SelectedValue).ToList();
}
else if (DropDownList2.SelectedItem.Value == "اجاره کامل")
{
int min = int.Parse(DropDownList8.Text);
int max = int.Parse(DropDownList9.Text);
query = query.Where(a => int.Parse(a.ejareh) >= min && int.Parse(a.ejareh) <= max).ToList();
query = query.Where(a => a.vagozari == DropDownList2.SelectedValue).ToList();
}
else if (DropDownList2.SelectedItem.Value == "رهن و اجاره")
{
int min = int.Parse(DropDownList8.Text);
int max = int.Parse(DropDownList9.Text);
query = query.Where(a => int.Parse(a.rahn) <= min && int.Parse(a.ejareh) <= max).ToList();
query = query.Where(a => a.vagozari == DropDownList2.SelectedItem.Text).ToList();
}
// محدوده
string mah = Server.HtmlEncode(TextBox1.Text);
if (mah == null)
{
query = query.ToList();
}
else if (mah != null)
{
query = query.Where(a => a.mahdoode.Contains(mah)).ToList();
}
ListProduct.DataSource = query;
DataBind();
همه قسمت ها ی جست و جوم کار میکنه به جز قسمت قیمت. وقتی کاربر ملکی رو وارد میکنه که وجود نداشته باشه مشکلی نداره و هیچی نشون نمیده.اما وقتی مشخصات ملکی رو وارد میکنه که وجود داره وباید نشون بده اون موقع خطا میده.تاکید میکنم فقط قسمت قیمت خطا میده و اگه کد مربوط به قیمت رو حذف کنیم هیچ مشکلی نداره و درست کار میکنه این هم عکسی از خطا :
110922
حالا به نظرتون مشکل از چیه؟؟
http://barnamenevis.org/images/misc/pencil.png
110921
و از این کد برای جست و جو استفاده میکنم :
// نوع ملک
string v = Request.QueryString["city"];
var query = k.melk.Where(a => a.city == v).ToList();
if (DropDownList1.SelectedItem.Text == "همه")
{
query = query.ToList();
}
else
{
string noe = DropDownList1.SelectedItem.Text.ToString();
query = query.Where(a => a.melk1 == noe).ToList();
}
// نوع واگذاری
if (DropDownList2.SelectedItem.Text == "همه")
{
query = query.ToList();
}
else
{
string vag = DropDownList2.SelectedItem.Text.ToString();
query = query.Where(a => a.vagozari == vag).ToList();
}
// زیربنا
if (DropDownList4.SelectedItem.Text == "همه" && DropDownList7.SelectedItem.Text == "همه")
{
query = query.ToList();
}
else if (DropDownList4.SelectedItem.Text != "همه" && DropDownList7.SelectedItem.Text != "همه")
{
int x = int.Parse(DropDownList4.SelectedValue);
int y = int.Parse(DropDownList7.SelectedValue);
query = query.Where(a => int.Parse(a.zirbana) > x && int.Parse(a.zirbana) < y).ToList();
}
// خواب
if (DropDownList3.SelectedItem.Value == "همه")
{
query = query.ToList();
}
else if (DropDownList6.SelectedItem.Value != "همه")
{
int khab = int.Parse(DropDownList3.SelectedValue);
query = query.Where(a => int.Parse(a.khab) == khab).ToList();
}
// طبقه
if (DropDownList6.SelectedItem.Value == "همه")
{
query = query.ToList();
}
else if (DropDownList6.SelectedItem.Value != "همه")
{
int tabaghe = int.Parse(DropDownList6.SelectedValue);
query = query.Where(a => int.Parse(a.tabaghe) == tabaghe).ToList();
}
// قیمت
if (DropDownList2.SelectedItem.Value == "همه")
{
query = query.ToList();
}
else if (DropDownList2.SelectedItem.Text == "خرید و فروش")
{
int min = int.Parse(DropDownList8.Text);
int max = int.Parse(DropDownList9.Text);
query = query.Where(a => int.Parse(a.gheimat) > min && int.Parse(a.gheimat) < max).ToList();
}
else if (DropDownList2.SelectedItem.Value == "رهن کامل")
{
int min = int.Parse(DropDownList8.Text);
int max = int.Parse(DropDownList9.Text);
query = query.Where(a => int.Parse(a.rahn) >= min && int.Parse(a.rahn) <= max).ToList();
query = query.Where(a => a.vagozari == DropDownList2.SelectedValue).ToList();
}
else if (DropDownList2.SelectedItem.Value == "اجاره کامل")
{
int min = int.Parse(DropDownList8.Text);
int max = int.Parse(DropDownList9.Text);
query = query.Where(a => int.Parse(a.ejareh) >= min && int.Parse(a.ejareh) <= max).ToList();
query = query.Where(a => a.vagozari == DropDownList2.SelectedValue).ToList();
}
else if (DropDownList2.SelectedItem.Value == "رهن و اجاره")
{
int min = int.Parse(DropDownList8.Text);
int max = int.Parse(DropDownList9.Text);
query = query.Where(a => int.Parse(a.rahn) <= min && int.Parse(a.ejareh) <= max).ToList();
query = query.Where(a => a.vagozari == DropDownList2.SelectedItem.Text).ToList();
}
// محدوده
string mah = Server.HtmlEncode(TextBox1.Text);
if (mah == null)
{
query = query.ToList();
}
else if (mah != null)
{
query = query.Where(a => a.mahdoode.Contains(mah)).ToList();
}
ListProduct.DataSource = query;
DataBind();
همه قسمت ها ی جست و جوم کار میکنه به جز قسمت قیمت. وقتی کاربر ملکی رو وارد میکنه که وجود نداشته باشه مشکلی نداره و هیچی نشون نمیده.اما وقتی مشخصات ملکی رو وارد میکنه که وجود داره وباید نشون بده اون موقع خطا میده.تاکید میکنم فقط قسمت قیمت خطا میده و اگه کد مربوط به قیمت رو حذف کنیم هیچ مشکلی نداره و درست کار میکنه این هم عکسی از خطا :
110922
حالا به نظرتون مشکل از چیه؟؟
http://barnamenevis.org/images/misc/pencil.png