Как бы вы реализовали страницу профиля StackOverflow в ASP.NET MVC? - PullRequest
0 голосов
/ 16 декабря 2008

Я предполагаю, что в коде StackOverflow есть что-то похожее на UsersController, который определяет функцию, подобную этой:

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

}

Из того, что я могу сказать, есть два способа реализации функции профиля. Одним из них является использование оператора switch для параметра сортировки и отображение другого представления в зависимости от того, что отображается (например, статистика, недавние ответы). Эти представления затем визуализируют частичный пользовательский элемент управления для обработки отображения верхней половины страницы профиля (граватар, имя пользователя, последнее посещение и т. Д.).

Другой способ, которым я мог бы видеть реализацию этого, состоял бы в том, чтобы всегда отображать одно представление и иметь логику для показа / скрытия его различных секций, основанных на сортировке. Это может привести к довольно чудовищному просмотру страницы, но оно также должно работать.

Существуют ли другие способы реализации страницы профиля StackOverflow, которые мне не хватает? Причина, по которой я спрашиваю, состоит в том, что моя текущая страница ASP.NET MVC имеет похожую страницу профиля, и я хочу убедиться, что я не пойду неправильно.

Ответы [ 2 ]

1 голос
/ 16 декабря 2008

Лично я бы создал действие и представление для каждого раздела вкладки и использовал бы частичное представление для верхней части, которая является общей для других. Я только начинаю работать с MVC, поэтому у меня нет большого опыта, чтобы подтвердить это предложение.

Схема маршрутизации URL, которую я бы использовал: / {controller} / {id} / {section}, например / пользователи / 123 / последние / пользователи / 123 / ответы и т. д.

0 голосов
/ 16 декабря 2008

Вы можете построить имя представления из значения сортировки

<% RenderPartial(sort + "View") %>

Однако он по умолчанию возвращается к представлению статистики, если параметр не существует, поэтому я не думаю, что они это делают.

Переключатель на сортировку, вероятно, будет работать нормально, если значение по умолчанию для переключателя будет возвращаться к представлению статистики.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...