0

我创建了一个从模型返回简单新闻(标题、作者和消息)的页面。我还想创建一个简单的表单来添加评论。新闻和添加评论的表格是相同的观点。如果用户经过身份验证,我希望我的表单有点聪明,并且只返回一个文本框用于评论消息,否则此表单应该显示另一个文本框,用户可以在其中写下他的名字。此表单还应发送新闻 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>
} 
4

1 回答 1

0

在您看来,如果您的模型有它,您可以添加一个带有 id 的 Hidden:

@Html.HiddenFor(model => model.idNews)

或者您可以使用其他不那么强类型的版本:

@Html.Hidden("IdNews", ViewBag.idNews)

在您的问题中不清楚您在哪里有要显示的信息(ID)......可以肯定的是,要发布您需要输入此数据(一个 Hidden 可以做到对用户隐藏该字段)。

于 2013-07-02T23:41:04.893 回答