PDA

View Full Version : سوال: فهمیدن اینکه آیا QueryString به صفخه ارسال شده است یا خیر



forodo
شنبه 12 مهر 1393, 17:42 عصر
سلام
از کجا میشه اینو فهمید؟
می خوام بگم اگه کوئری استرینگ ارسال شده بود فلان کار رو انجام بده و درغیراینصورت کار دیگه ای انجام بده.

ahmad156
شنبه 12 مهر 1393, 18:10 عصر
http://www.dotnetperls.com/querystring

forodo
شنبه 12 مهر 1393, 18:23 عصر
چرا ارور نمی گیره؟
چیزی که هنوز وجود نداره مهم نیست که خالی هست یا نه.
چون وجود نداره.
جاهای دیگه حتماً باید داخل try catch قرار بدیم وگرنه ارور می ده ولی اینجا من داخل ترای کش نذاشتم و اروری هم نمیده.

ahmad156
شنبه 12 مهر 1393, 18:26 عصر
احتمالاً شما از یه تابع مانند ToString بعدش استفاده میکردین

forodo
شنبه 12 مهر 1393, 18:33 عصر
احتمالاً شما از یه تابع مانند ToString بعدش استفاده میکردین
for (int i = counterPage; i >= 2; i--)
{
if (i == Convert.ToInt32(Request.QueryString["Page"]))
{
Response.Write("<a href=\"Main.aspx?Page=" + i + "\"><li style=\"background-color:#069;\">" + i + "</li></a>");
}
else
{
Response.Write("<a href=\"Main.aspx?Page=" + i + "\"><li>" + i + "</li></a>");
}
}
if (1 == Convert.ToInt32(Request.QueryString["Page"]) || Request.QueryString["Page"] == null)
{
Response.Write("<a href=\"Main.aspx?Page=1\"><li style=\"background-color:#069;\">1</li></a>");
}
else
{
Response.Write("<a href=\"Main.aspx?Page=1\"><li>1</li></a>");
}

اون بالایی می گیم چون convert اگه نتونه چیزی رو تبدیل کنه 0 برمیگردونه. این چی؟
if (Request.QueryString["Page"] != null)
{
for (int i = (3 * (Convert.ToInt32(Request.QueryString["Page"]))) - 3; i < 3 * (Convert.ToInt32(Request.QueryString["Page"])); i++)
{
Response.Write("<div id=\"Content\"><div><div class=\"Mozu\">" + dt.Rows[i]["Subject"] + "</div><div><ul class=\"MozuInformation\"><li style=\"padding-right:0px;\">تاریخ ایجاد : " + dt.Rows[i]["SendDate"] + "</li><li>بازدید : " + dt.Rows[i]["Visit"] + "</li><li>نظرات : " + dt.Rows[i]["CountComment"] + "</li></ul></div><div class=\"MatneAamuzesh\">" + dt.Rows[i]["SummaryOfTraining"] + "</div><div class=\"EdameyeMatlab\"><a href=\"Show.aspx?IdShow=" + dt.Rows[i]["ID"] + "\">... ادامه مطلب</a></div></div></div>");
Response.Write("<div style=\"background-color:#DDD; height:10px; clear:left;\"><!--خالی--></div>");
}
}

ahmad156
شنبه 12 مهر 1393, 18:39 عصر
Convert.ToInt32(Request.QueryString["Page"])

شما میخواین مقدار Null رو به Int تبدیل کنین که خطا میده

forodo
شنبه 12 مهر 1393, 18:50 عصر
شما میخواین مقدار Null رو به Int تبدیل کنین که خطا میده
خطا نداد.
ولی تا اونجایی که می دونم اگه convert نتونه چیزی رو تبدیل کنه 0 برمیگردونه که در اینجا برای من وارد else میشه و if رو انجام نمی ده.

meysam99
شنبه 12 مهر 1393, 20:34 عصر
همیشه این شرط رو چک کن
if (Request.QueryString["Page"] != null)
بعد در ادامه کار رو انجام بده تا به پیغام خطایی بر نخوری