يحتاج ASP إلى استخدام هذه الوظيفة للحصول على عنوان URL الحالي، أو الحصول على جميع معلمات الصفحة الحالية. لم أختبرها كثيرًا، وسأقدم لك الكود المحدد بعد الاختبار.
إذا كان العنوان هو:
http://dxy.com:8082/test/geturl.asp?Param-VR52tmx3syn03777.html
الطريقة الأولى: بسيطة، بدون معلمات، فقط مسار افتراضي
انسخ رمز الكود كما يلي:
GetUrl =request(url) 'نظرًا لعدم وجود كلمة url= لدينا، يمكننا تمريرها مباشرةً.
الطريقة الثانية: احصل على عنوان URL بالكامل واحصل على المعلمات
انسخ رمز الكود كما يلي:
"احصل على عنوان الصفحة الحالية."
الدالة GetUrl()
على خطأ استئناف التالي
خافت strTemp
إذا كان LCase(Request.ServerVariables(HTTPS)) = إيقاف إذن
سترتيمب = http://
آخر
سترتيمب = https://
نهاية إذا
strTemp = strTemp & Request.ServerVariables(SERVER_NAME)
إذا كان Request.ServerVariables(SERVER_PORT) <> 80 ثم strTemp = strTemp &: & Request.ServerVariables(SERVER_PORT)
strTemp = strTemp & Request.ServerVariables(URL)
إذا كان Trim(Request.QueryString) <> ثم strTemp = strTemp & ? & Trim(Request.QueryString)
GetUrl = strTemp
وظيفة النهاية
بعد تجربة هذا الكود فإن المسار الذي تم الحصول عليه هو:
/test/geturl.asp?Param-VR52tmx3syn03777.html=
الطريقة الثانية: الحصول على المسار الظاهري والحصول على المعلمات
انسخ رمز الكود كما يلي:
وظيفة خاصة GetUrl()
خافت ScriptAddress,M_ItemUrl,M_item
ScriptAddress = CStr(Request.ServerVariables(SCRIPT_NAME)) 'احصل على العنوان الحالي
M_ItemUrl =
إذا (Request.QueryString <> ) ثم
ScriptAddress = ScriptAddress & ؟
لكل M_item في Request.QueryString
إذا كان M_item = page_num، ثم قم بالخروج من أجل 'الوظيفة هنا هي تصفية معلمات Page_num (يتم تعيين هذه المعلمة بنفسها في page_turn.asp وتتغير وفقًا للإعدادات الشخصية)، وإلا فسيتم فرض ذلك في كل مرة يتم فيها تشغيل الصفحة. على الرغم من أن المعلمات لا تؤثر على الوظيفة، إلا أنها لا تزال غير جيدة ~~
إذا كان InStr(page,M_Item)=0 إذن
M_ItemUrl = M_ItemUrl & M_Item &=& Server.URLEncode(Request.QueryString(&M_Item&))
آخر
M_ItemUrl = M_ItemUrl & M_Item &=& Server.URLEncode(Request.QueryString(&M_Item&)) & &
نهاية إذا
التالي
آخر
ScriptAddress = ScriptAddress & ؟
نهاية إذا
GetUrl = ScriptAddress & M_ItemUrl
وظيفة النهاية
العنوان الذي تم الحصول عليه بواسطة الكود أعلاه هو
http://dxy.com:8082/test/geturl.asp?Param-VR52tmx3syn03777.html
نفس الشيء في الأساس
إذا أردنا فقط الحصول على الشيء بعد الرقم، فيمكننا استخدام الكود التالي
انسخ رمز الكود كما يلي:
استجابة.كتابة استبدال(request.querystring,.html,)
ما نحصل عليه هو Param-VR52tmx3syn03777 هل يلبي احتياجاتنا؟
ملاحظة: جميع المواقف المذكورة أعلاه مخصصة فقط لـ ASP فقط، إذا تم دمجها مع urlrewrite، فسيتم تحسين الوظائف، كما سيتم تحسين سهولة البحث.