Я бы хотел отобразить информацию о состоянии регистрации пользователя. Оно должно отображаться при каждом просмотре, но я считаю, что написание этого кода около 20 раз - плохая идея. Кстати, это код, он работает, я гарантирую, что:
Посмотреть / RegistrationInfo:
<table width="95%" border="0" cols="2">
<tr>
<td width="50%" height="124"><h2><strong>Simple Blog </strong></h2></td>
<td width="50%" height="124">
@if (System.Web.HttpContext.Current.User.Identity.IsAuthenticated)
{
using (Html.BeginForm("LogOff", "Account"))
{
<table width="95%" height="86" border="0">
<tr>
<td width="50%" valign="middle">Hello, @System.Web.HttpContext.Current.User.Identity.Name</td>
<td width="50%" valign="middle" align = "right"><input type="submit" value="Exit" /></td>
</tr>
</table>
}
}
else
{
using (Html.BeginForm("LogIn", "Home"))
{
<table width="95%" height="86" border="0">
<tr>
<td width="45%" valign="bottom">Login:</td>
<td width="45%" valign="bottom">Password:</td>
<td width="10%"></td>
</tr>
<tr>
<td width="45%">
<p>
<input type="text" name="login" />
</p>
</td>
<td width="45%">
<p>
<input type="password" name="password" />
</p>
</td>
<td width="10%" align="left">
<input type="submit" value="Enter" />
</td>
</tr>
<tr>
<td width="45%" valign="top">
@Html.ActionLink("Register", "Register", "Account")
</td>
</tr>
</table>
}
}
</td>
</tr>
</table>
<hr align="left" width="100%" size="2" />
Как вы можете видеть, это представление не требует строгой типизации ... и я не знаю, должен ли я модифицировать какие-либо контроллеры (потому что вся информация хранится в контексте HTML), и как. Я пытался позвонить
@Html.RenderAction("RegistrationInfo", "Home");
или
@ Html.RenderPartial ("RegistrationInfo", "Home");
и каждый раз, когда я получаю ошибку компиляции с сообщением о недопустимых параметрах