PDA

View Full Version : تشخیص وجود یک کوئری استرینگ در آدرس صفحه



sara_aryanfar
سه شنبه 05 اردیبهشت 1391, 16:19 عصر
با سلام من یه صفحه برای ثبت فیش بانکی دارم که از چند جا کاربر به اونجا هدایت میشه یکی از صفحه اصلی که هیچ کوئری استرینگ ارسال نمیشه و دیگری در صفحه ثبت سفارش که کد رهگیری رو به عنوان کوئری ارسال می کنم مشکلی که دارم اینه که الان وقتی از صفحه اصلی به این صفحه میام چون کوئری رو بهش ارسال نکردم
به کد زیر ایراد می گیره

tbrahcod.Text = Request.QueryString["cod"].ToString();
حالا با چه روشی می تونم کاری کنم که وقتی کوئری ارسال نمیشه این بخش اجرا نشه که خطا هم نده

alonemm
سه شنبه 05 اردیبهشت 1391, 16:28 عصر
باسلام:

شما میتونید با یک شرط چک کنید که مقدار پاس شده خالی نباشه.

مثال:

if (Request.QueryString["[VARIABLE]"] != "" && Request.QueryString["[VARIABLE]"] != null) {
// CODE HERE
}

sara_aryanfar
سه شنبه 05 اردیبهشت 1391, 17:44 عصر
ببینید منظور من لینکی هست که در اون هیچ کوئری ست نشده یعنی نه خالی و نه غیره یه لینک معمولی هست

http://localhost:4980/unshop/draft.aspx
http://localhost:4980/unshop/draft.aspx?cod=47529568860593391773B6MP
در لینک اول دچار مشکل میشه

A.S.Roma
سه شنبه 05 اردیبهشت 1391, 18:40 عصر
ببینید منظور من لینکی هست که در اون هیچ کوئری ست نشده یعنی نه خالی و نه غیره یه لینک معمولی هست

http://localhost:4980/unshop/draft.aspx
http://localhost:4980/unshop/draft.aspx?cod=47529568860593391773B6MP
در لینک اول دچار مشکل میشه
فقط null بودن کوئری رو چک کنید .
if(Request.QueryString["[VARIABLE]"] != null) {
}

sara_aryanfar
سه شنبه 05 اردیبهشت 1391, 18:47 عصر
خب دوست عزیز در لینکی که هیچ کوئری ارسال نمیشه نمی تونیم خالی بودنش رو چک کنیم http://localhost:4980/unshop/draft.aspx در این لینک تنها به صفحه به صورت ساده میریم بدون اینکه کوئری ست بشه فکر کنم بهترین راه اینه که چک کنم که آیا تو ادرس نام کوئری اومده یا نه

A.S.Roma
سه شنبه 05 اردیبهشت 1391, 19:31 عصر
if(Request.QueryString["[VARIABLE]"] != null) {
//خالی نبودن
}
else
{
//خالی بودن
}



الان مشکل کجاست !؟

sara_aryanfar
سه شنبه 05 اردیبهشت 1391, 19:41 عصر
مشکل اینجاست که وقتی با این لینک به همون صفحه میریم ارر میده http://localhost:4980/unshop/draft.aspx

من سعی کردم با کد زیر مشکل رو حل کنم اما شرط اجرا نمیشه

string url = Request.Url.AbsoluteUri;
if (url.Equals("cod"))
{
tbrahcod.Text = url; //Request.QueryString["cod"].ToString();

}

d_derakhshani
سه شنبه 05 اردیبهشت 1391, 21:32 عصر
کدهایی که دوستان دادن همه درسته. نمی خواستم پست بزارم اما دیدم با این همه جواب درست شما چرا انقدر اسرار دارید روشی غیر استاندارد به کار ببرید. مطمئنید از کدهای مربوطه استفاده کردید؟ اگه استفاده کردید و خطا داد، خطای مربوطه رو همیجا گزارش کنید.
غیر از کدهایی که دوستان دادن و استاندارده خواهشا روش غیر استاندارد اختراع نکنید

sara_aryanfar
سه شنبه 05 اردیبهشت 1391, 22:17 عصر
با تشکر از همه دوستان کدهای دوستان کاملا صحیح بود و مشکل از جای دیگه بود به هر حال از کد دوستان به نتیجه رسیدم و لینک مطلبی رو که فکر می کنم مفید باشه قرار میدم شاید به درد خورد البته همون کدهای دوستان رو توضیح داده
http://www.jamieconnolly.net/index.php/blog/asp-dot-net/check-if-query-string-variable-exists-aspnet-cvb/