我创建了一个从模型返回简单新闻(标题、作者和消息)的页面。我还想创建一个简单的表单来添加评论。新闻和添加评论的表格是相同的观点。如果用户经过身份验证,我希望我的表单有点聪明,并且只返回一个文本框用于评论消息,否则此表单应该显示另一个文本框,用户可以在其中写下他的名字。此表单还应发送新闻 id。此 id 存储在模型中。如您所见,我尝试返回作者姓名,但似乎编码错误。也许我会通过在控制器中添加@User 名称来修复它,但我不知道如何从这个视图将新闻 id 传递给控制器。
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Message</legend>
@if(Request.IsAuthenticated)
{ Model.Nadawca = @User.Identity.Name.ToString(); }
else
{
<div class="editor-label">
@Html.LabelFor(model => model.Nadawca)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.Nadawca)
@Html.ValidationMessageFor(model => model.Nadawca)
</div>
}
<div class="editor-label">
@Html.LabelFor(model => model.Tresc)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.Tresc)
@Html.ValidationMessageFor(model => model.Tresc)
</div>
<p>
<input type="submit" value="Send" />
</p>
</fieldset>
}