Глядя на названия вкладок, «Обновить личные данные», «Проверить порядок» и «Изменить данные для входа» - кажется, что это довольно разные, но связанные параметры, которые может сделать пользователь.
Для меня имеет смысл разделить их на три разных действия с тремя разными представлениями, что означает, что вы рендерите действие только для видимой вкладки. Таким образом, если пользователь хочет, скажем, только обновить свои данные, сервер не выполняет запросы к БД для проверки порядка
Вы могли бы использовать некоторые CSS, чтобы оформить их так, чтобы они выглядели как три вкладки, но каждая вкладка действительно была бы ссылкой, которая выполняла новый запрос, просто создавая вид, будто было три вкладки.
, например
<div id="content">
<ul>
<li class="active">Update Personal Details</li>
<li>@Html.ActionLink("Check Order","CheckOrder")</li>
<li>@Html.ActionLink("Update Logon Details","UpdateLogonDetails")</li>
</ul>
<div id="tab1" />
... Update Personal Details Tab... etc
</div>
... tab2 and tab 3 not included...
</div>
Действия для CheckOrder и UpdateLogonDetails будут отображать одно и то же представление, но будет отображаться другая вкладка.
Это создаст иллюзию того, что все это выполняется с использованием вкладок, даже если это не так.
Затем, когда у вас все это работает, вы можете обновить эти ссылки, используя JQuery, чтобы запускать запросы через AJAX, возвращая результаты в виде частичных представлений и обновляя div содержимого с результатом. Это означает, что люди с включенным Javascript получают надлежащий опыт «ajax», но все равно работает нормально для тех, у кого отключен javascript.