管道特征导致"意外令牌" Html.BeginForm中的错误

时间:2013-02-15 21:01:32

标签: asp.net-mvc-4

我正在尝试重新创建现有登录表单的HTML设计,以便在MVC4程序中使用。大部分都很好,但是当我尝试在两个元素之间输入管道符(|)时,它会抛出错误“意外令牌”。您可以在底部,按钮之后和锚点之前看到它。任何想法为什么这是一个错误?有办法解决吗? (除了删除管道符号?)

    @using (Html.BeginForm("Login", "AccountController", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "form-login form-wrapper form-narrow" }))
    { 
        @Html.AntiForgeryToken()
        @Html.ValidationSummary(true)

        <h3 class="title-divider"><span>Login</span> <small>Not signed up? @Html.ActionLink("Sign Up Here.", "Register")</small></h3>

        @Html.LabelFor(m => m.UserName)
        @Html.TextBoxFor(m => m.UserName, new { @class = "input-block-level" } )
        @Html.ValidationMessageFor(m => m.UserName)

        @Html.LabelFor(m => m.Password)
        @Html.PasswordFor(m => m.Password, new { @class = "input-block-level" })
        @Html.ValidationMessageFor(m => m.Password)

        @Html.LabelFor(m => m.RememberMe, new { @class = "checkbox" })
        @Html.CheckBoxFor(m => m.RememberMe)

        <button class="btn btn-primary" type="submit" value="Log in" >Sign in</button>
    | <a href="#">Forgotten Password?</a>
    }

1 个答案:

答案 0 :(得分:7)

将其放在<text>标记内或使用@:运算符

<text>|</text>

@:|

在using语句中,您实际上是在一个剃刀代码块中,因此在html标记内或以@:运算符开头的任何都将被读作服务器代码。