您将如何在ASP.NET MVC中实现StackOverflow的配置文件页面?

时间:2008-12-16 05:12:40

标签: asp.net-mvc

我猜测StackOverflow代码有一些类似于这样的函数的UsersController:

public ActionResult Profile(string id, string username, string sort)
{   

}

据我所知,实现Profile功能有两种方法。一种是在sort参数上使用switch语句,并根据显示的内容(例如stats,recent,response)呈现不同的视图。然后,这些视图将呈现部分用户控件,以处理配置文件页面上半部分的显示(gravatar,用户名,最后看到的等)。

我可以看到实现这一点的另一种方法是始终渲染一个视图并具有基于排序显示/隐藏其不同部分的逻辑。这将导致一个非常可怕的视图页面,但它也应该工作。

是否还有其他方法可以实现我缺少的StackOverflow配置文件页面?我问的原因是因为我当前的ASP.NET MVC页面有一个类似的配置文件页面,我想确保我不会以错误的方式解决这个问题。

2 个答案:

答案 0 :(得分:1)

就个人而言,我会为每个标签部分创建一个操作和视图,并使用部分视图作为其他部分共享的顶部部分。我刚刚开始使用MVC,所以我没有很多经验来支持这个建议。

我将使用的URL路由方案是/ {controller} / {id} / {section},例如/ users / 123 / recent / users / 123 / respond等。

答案 1 :(得分:0)

您可以从排序值

构建视图名称
<% RenderPartial(sort + "View") %>

但是,如果参数不存在,它会默认返回stats视图,因此我认为他们没有这样做。

关于排序的开关可能会正常工作,并且交换机上的默认值会返回统计视图。