ASP.NET MVC :لست متأكدا من كيفية جعل هذه الطرق

StackOverflow https://stackoverflow.com/questions/252729

  •  05-07-2019
  •  | 
  •  

سؤال

أحاول أن أسلك الطرق التالية ..وحاليا أنا ذاهب حول هذا في حقًا طريق طويل..أي.مثيل مسار واحد لكل مسار.

هذا ما أسعى إليه...(بافتراض أنني أقوم بإنشاء "موقع ويب Stackoverflow")

/                        <-- root site
/page/{page}             <-- root site, but to the page of questions.
/tag/{tag}/page/{page}   <-- as above, but the questions are filtered by tag
/question/ask            <-- this page :P
/question/{subject}      <-- reading about a question

(و لا..أنا بالتأكيد لا أقوم بإنشاء موقع ويب stackoverflow :))

هتافات!

(جود أجد أن كل هذا مربكًا جدًا في بعض الأحيان).

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

المحلول

لثلث الخاص بك، كنت تفعل شيئا من هذا القبيل:

routes.MapRoute("page-tag", "tag/{tag}/page/{page}", new {controller="question", action="FilterByTag"});

وأسلوب العمل الخاص بك ثم يمكن أن تبدو مثل هذا:

public class QuestionController : Controller {
  public ActionResult FilterByTag(string tag, int page) {
    //...
  }
}

نصائح أخرى

أود تغيير عنوان URL الأخير إلى /question/view/{subject}.مزيد من إنشاء 3 وحدات تحكم:

  • وحدة تحكم الصفحة
  • TagController
  • QuestionController

في Global.asax قم بإنشاء هذه المسارات (خذ مثالاً على المسار الافتراضي)

أتمنى أن يساعدك هذا.

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