我在理解@Razor
视图中的工作方式时遇到了一些麻烦。下面的代码是我的观点,用户可以在其中创建新帖子(我正在创建论坛)
我想要做的是删除<Fieldset>
我的问题是我无法更改我标记的代码。
@model Forum3.Models.Posts
<h2>CreatePost</h2>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
//--- CAN'T EDITED ----
<fieldset>
<legend>Post</legend>
@*SET TopicID*@
@{
Html.HiddenFor(model => model.TopicId);
@Html.Hidden("TopicId",ViewData["currentTopicId"]);
}
//----END----
<div class="editor-label">
@Html.LabelFor(model => model.Text)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Text)
@Html.ValidationMessageFor(model => model.Text)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
如果我删除<Fieldset
> 和<Legend
> 我的HiddenFor
代码会出现此错误:
Parser Error Message: Unexpected "{" after "@" character. Once inside the body of a code block (@if {}, @{}, etc.) you do not need to use "@{" to switch to code.
如果我然后删除@{...}
看起来像这样:
@Html.HiddenFor(model => model.TopicId);
@Html.Hidden("TopicId",ViewData["currentTopicId"]);
单击时会出现错误,Create
因为没有将 TopicId 设置为我的currentTopicId
(如果我离开,也会发生这种情况<fieldset>
)
我不知道这里发生了什么。有任何想法吗?