我创建了一个页面,它返回模型中的简单新闻(标题,作者和消息)。我还想创建一个添加注释的简单表单。添加评论的新闻和表格是相同的观点。我希望我的表单有点聪明,如果用户通过身份验证,则只返回一个用于注释消息的文本框,否则此表单应显示另一个文本框,用户可以在其中写下他的名字。此表单还应发送新闻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>
}
答案 0 :(得分:0)
在您的视图中,如果您的模型具有ID,则可以添加带有ID的隐藏:
@Html.HiddenFor(model => model.idNews)
或者您可以使用其他不太强类型的版本:
@Html.Hidden("IdNews", ViewBag.idNews)
在您的问题中不清楚您在哪里可以显示信息(ID)...确定要发布的内容您需要对此数据进行输入(隐藏可以做到这一点隐藏来自用户的字段)。