在哪里放置用户特定的东西 - 网址结构

时间:2013-06-01 19:13:54

标签: c# asp.net-mvc

在我的所有项目中,我都有UserController,用于显示每个用户个人资料,并且只有一个操作,如下所示:

public ActionResult Index(int id, string username)

但我不知道我会把具体内容放在哪里当前用户,例如:

QuestionsController
AnswersController

选项1

我应该在每个控制器下添加一个动作,如下所示:

public ActionResult My()

看起来像:

/questions/my 
/answers/my 

选项2

我添加控制器MyController和操作问题和解答然后我得到类似的东西:

/my/questions
/my/answers

选项3

我将这些操作添加到我的用户控制器,所以我得到了类似的内容:

/user/questions/1/exampleuser/
/user/answers/1/exampleuser/

哪种维护最容易,对用户来说最自然?

1 个答案:

答案 0 :(得分:1)

就网址而言

选项2感觉很自然,因为它是您正在获取的特定于帐户的信息。选项3很不错,但很笨拙。绝对不是选项1。

我理解您对选项2中单个控制器的担忧。事实上,您仍然可以使用QuestionController和AnswerController,并使用路由规则(1)来保留选项2给出的不错的URL。