モデルから簡単なニュース (タイトル、作成者、メッセージ) を返すページを作成しました。コメントを追加する簡単なフォームも作成したいと思います。ニュースとコメントを追加するフォームは同じビューにあります。ユーザーが認証されている場合、フォームを少しスマートにして、コメントのメッセージ用に 1 つのテキスト ボックスのみを返すようにしたいと考えています。このフォームは、ニュースの 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>
}