سؤال

ووالتوجيه ASP.NET جديدة تعتبر كبيرة بالنسبة لأسلوب بسيط مسار URL ولكن إذا كنت ترغب في استخدام عناوين URL مثل:

http://example.com/items/search .xhtml؟ المدى = نص + إلى + تجد & صفحة = 2

هل لديك لاستخدام الصيد كل معلمة مع التحقق من صحة؟

هل كانت مفيدة؟

المحلول

وأي من البنود عرض البيانات التي لم ترد في الطريق يتم تعيين تلقائيا إلى سلسلة استعلام مواقع المعلومات، لذلك إذا قمت بتعيين "العناصر / search.xhtml" لإجراء:

Search(string term, int page)

وبعد ذلك يجب أن تحصل على النتائج التي تبحث عنها.

نصائح أخرى

ويمكنك أن تطابق المعلمات سلسلة استعلام مواقع المعلومات مع الطرق وكذلك، إذا كنت تريد أن مجرد التقاط كل ما تحتاجه لإضافة معلمة مثل ذلك:

{*} contentUrl

والذي سيتم ملء ما تبقى من رابط إلى هذا المتغير.

وكنت أعاني أيضا صعوبة في تمرير URL المرمزة إلى مسار كمعلمة الطريق.

ولا يمكنك استخدام رابط حرف المرمزة في URL، ولكن يمكنك في سلسلة الاستعلام.

لذلك كنت بحاجة طريقي لدينا أيضا عنصر سلسلة استعلام إليه.

ويقول لدي في المسار:

MapPageRoute("myroute", "myroute/{x}", "~/routehander.aspx")

ولكن أريد أن في شكل:

http://mywebsite.com/myroute/{x}?url=myurl

ويمكننا أن نفعل هذا:

Dim x as integer = 12
Dim rvd As New Routing.RouteValueDictionary
rvd.Add("x", x)
rvd.Add("url", Server.UrlEncode("/default.aspx"))
HttpContext.Current.ApplicationInstance.Response.RedirectToRoutePermanent("myroute", rvd)

وهذا من شأنه توجيه بنا إلى العنوان التالي:

http://mywebsite.com/myroute/12?url=%252fdefault.aspx

ويمكنك الاستمرار في استخدام Request.QueryString["some_value"];

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top