1

在我的所有项目中,我都有 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/

哪个对用户来说最容易维护和感觉最自然?

4

1 回答 1

1

在网址方面

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

我理解您对在选项 2 中使用单个控制器的担忧。事实上,您仍然可以拥有 QuestionController 和 AnswerController,并使用路由规则 ( 1 ) 来保留选项 2 提供的漂亮 url。

于 2013-06-01T19:22:51.367 回答