View Full Version : جستجوی داده انتهای لینک
quantomquery
یک شنبه 08 بهمن 1391, 11:26 صبح
سلام
میخوام وقتی آدرس سایت رو به صورت زیر بزنم عدد آخر لینک رو بگیره و تو دیتابیسم بگرده.
http://mysite.com/25
من اینو با کنترل خطا در global.asax و Application_Error پیاده سازی کردم و جواب هم گرفتم
ولی یه حسی به من میگه این راه اصولی نیست .
می خوام بدونم آیا روش دیگه ای هست که بشه این کار رو بدون استفاده از global.asax پیاده سازی کرد ؟
quantomquery
یک شنبه 08 بهمن 1391, 15:46 عصر
دوستان حال پاسخ دادن ندارن یا اینکه با این سبک کار نکردن
quantomquery
یک شنبه 08 بهمن 1391, 21:16 عصر
این همه سایت داره از این روش استفاده می کنه
یعنی هیچکدوم از دوستان از این روش استفاده نکرده که مستقیم از لینک داده رو بخونن و یه راهنمایی بکنن
مدیران دستم به دامنتان
حداقل یه چیزی بگید بدونم اصلا دنبال چی بگردم ؟؟؟!!!
amirsajjadi
دوشنبه 09 بهمن 1391, 01:13 صبح
سلام
چند تا روش داره.
url mapping , url rewrite, کلک رشتی!.
من خودم چند وقت پیش پروژه ای رو نوشتم که مثل شما نیاز بود که هر مقداری رو که جلوی آدرس میاد توی بانک سرچ کنه و بعد اون رو به یک آدرس مشخص هدایت کنه.
اگه بخوای از روش استاندارد asp.net استفاده کنی و کاربر رو به یک آدرس مشخص هدایت کنی باید از url rewrite استفاده کنی.
اگر نه بخوای فقط جستجو انجام بشه و آدرس تغییری نکنه و کاربر در همون صفحه باقی بمونه باید از url mapping استفاده کنی.
حالا میرسیم به اون کلک رشتی که خودم استفاده کردم توی پروژم و درد سر زیادی هم نداره! (استاندارد مایکروسافت نیست)، استفاده از خطای 404 هست به این صورت که اگر صفحه ای پیدا نشد اونو به صفحه جستجو پاس بده به اینصورت :
اول توی فایل web.config و در قسمت مدیریت خطاها مینویسی :
<customErrors mode="On">
<error statusCode="404" redirect="CheckNameAlias.aspx" />
</customErrors>
بعد توی تنظیمات هاستت توی قسمت تنظیمات مربوط به وب سایت و در قسمت custom errors خطای 404 رو انتخاب میکنی و نوع Handler Type اونو Execute URL انتخاب میکنی(البته اینکار رو میتونی توی web.config هم انجام بدی). مثل تصویری که ضمیمه کردم.
و حالا توی اون صفحه ی جستجو (که اینجا صفحه CheckNameAlias) یک تابع مینویسی به اینصورت :
Private Function GetAliasNameFromURL() As String
Dim s As String = Request.Url.AbsoluteUri
Return Mid(s, InStrRev(s, "/") + 1)
End Function
و حالا توی فرم لود صفحه مینویسی:
Dim n As String = Trim(GetAliasNameFromURL())
If InStr(n, ".") > 0 Then Exit Sub
msgbox(n)
:گیج:
امیدوارم گیج نشده باشی !
حالا انتخاب با خودت هست.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.