System.Web.Mvc.Html.MvcForm Razor显示Html

System.Web.Mvc.Html.MvcForm Razor显示Html,html,asp.net-mvc,post,razor,html.beginform,Html,Asp.net Mvc,Post,Razor,Html.beginform,我在视图中有一个窗体 @if (Request.IsAuthenticated) { @(Html.BeginForm("LeaveComment", "Publication")){ <input type="text" name="pub" style="display: none" value=@publication.PublicationID> <input type="text" name="mail" style

我在视图中有一个窗体

@if (Request.IsAuthenticated) {
     @(Html.BeginForm("LeaveComment", "Publication")){
          <input type="text" name="pub" style="display: none" value=@publication.PublicationID>
          <input type="text" name="mail"  style="display: none" value=@Context.User.Identity.Name>
          <textarea id="comment" name="comment"></textarea>
          <button type="submit">Submit</button>
     }
}
我怎样才能解决它

编辑 如果我使用@,使用这个工作很好,但这个崩溃另一种形式。另一种形式的代码如下所示:

@如果(请求已验证) {

            using(Html.BeginForm("LeaveComment", "Publication", FormMethod.Post,
                   new { publicationID = publication.PublicationID, mail = Context.User.Identity.Name }))
            {
                <textarea id="comment" name="comment" style="width: 828px; margin-left: 18px;"></textarea>
                <button type="submit" name="action:LeaveComment" value="LeaveComment"  class="btn btn-default pull-right">
                    <strong>Submit</strong>
                </button>
            }
        }
        else
        {
            <form action="#">
                <textarea id="comment" name="" style="width: 828px; margin-left: 18px;"></textarea>
                <button type="button" href="#login" data-toggle="modal" data-target="#login-modal" class="btn btn-default pull-right" style="margin-right: 15px;">
                    Submit
                </button>
            </form>
        }
使用(Html.BeginForm(“LeaveComment”、“Publication”、FormMethod.Post、,
新的{publicationID=publication.publicationID,mail=Context.User.Identity.Name})
{
提交
}
}
其他的
{
提交
}
更新
我解决了在请假评论中添加using的问题,并删除了此帖子的FormMethod.Post字段。

您需要使用
使用(Html.BeginForm(…)
,因为
MvcForm.Dispose()
将打印实际的结束表单标记


您的代码
@(Html.BeginForm)
将调用
MvcForm.ToString()
,它将只打印类型名称。

您的问题不清楚。如果我使用@using这个方法可以很好地工作,但会使同一视图中的另一个表单崩溃。
            using(Html.BeginForm("LeaveComment", "Publication", FormMethod.Post,
                   new { publicationID = publication.PublicationID, mail = Context.User.Identity.Name }))
            {
                <textarea id="comment" name="comment" style="width: 828px; margin-left: 18px;"></textarea>
                <button type="submit" name="action:LeaveComment" value="LeaveComment"  class="btn btn-default pull-right">
                    <strong>Submit</strong>
                </button>
            }
        }
        else
        {
            <form action="#">
                <textarea id="comment" name="" style="width: 828px; margin-left: 18px;"></textarea>
                <button type="button" href="#login" data-toggle="modal" data-target="#login-modal" class="btn btn-default pull-right" style="margin-right: 15px;">
                    Submit
                </button>
            </form>
        }