سؤال

لدي رابط html.action وأرغب في عرض رابط لصفحة الملف الشخصي للأعضاء مثل هذا: http://somesite.com/members/{اسم المستخدم}

عند استخدام العلامات التالية

<%= Html.ActionLink(r.MemberName, "profile", new { MemberName = r.MemberName } )%>

أحصل على رابط يبدو كالتالي: http://somesite.com/members?MemberName={اسم المستخدم}

ما الذي أحتاج إلى تغييره في مساعد ActionLink للحصول على عنوان URL مثل هذا:

http://somesite.com/members/{اسم المستخدم}

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

المحلول

بافتراض أن رمز اسم المستخدم المميز في مساراتك هو {username} كما تظهر، جرب هذا:

<%= Html.ActionLink(r.MemberName, "profile", new { username = r.MemberName } )%>

نصائح أخرى

يجب عليك إضافة المسار الذي يعين "/أعضاء/{MemberName}" قبل المسارات الأخرى في جدول التوجيه.

شكرا على ردودكم ...لم يكن لدي طريقي يطابق اسم القيمة.

ما عليك سوى التأكد من مطابقة عنوان URL للمسار الخاص بي مما يجعله يعمل.

هذا هو الكود الخاص بي ....

//Global.asax
routes.MapRoute(
    "Profile",
    "members/{membername}",
    new { controller = "Members", action = "Profile", memberName = "" }
);

//In the Controller
public ActionResult Profile(string memberName)
{
  return View();
}

//My Action Link
<%= Html.ActionLink(r.MemberName, "profile", new { memberName = r.MemberName })%>

شكرًا لك مرة أخرى

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