将控制器在单击中的操作更改为链接

时间:2013-05-24 09:21:55

标签: c# asp.net-mvc razor

我已经完成了一个asp.net mvc应用程序,我遇到了这个问题: 在视图中,我有以下代码段:

<section id="loginForm" >


    <form action="/Account/Login" method="post">
    <fieldset>
        <legend>Formulaire de connexion</legend>
        <ol>
            <li>
                @Html.LabelFor(m => m.Pseudo)
                @Html.TextBoxFor(m => m.Pseudo)
                @Html.ValidationMessageFor(m => m.Pseudo)
            </li>
            <li>
                @Html.LabelFor(m => m.Password)
                @Html.PasswordFor(m => m.Password)
                @Html.ValidationMessageFor(m => m.Password)
            </li>


        </ol>
        <input type="submit" value="Se connecter"  />
        <a href="@Url.Action("Reinitialiser", "Account")" style="color:blue">Mot de passe oublié ?</a>  
    </fieldset>
  </form>

</section>



@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}

通常,当我点击链接<a href="@Url.Action("Reinitialiser", "Account")" style="color:blue">Mot de passe oublié ?</a>时,它会将我重定向到Reinitialiser控制器中的操作Account

  [AllowAnonymous]

        public ActionResult Login(string returnUrl)
        {
             Upload.Models.LoginModel model = new LoginModel();
            IPHostEntry ipHostEntry = Dns.GetHostByName(Dns.GetHostName());
            IPAddress ipAddress = ipHostEntry.AddressList[0];
             if(model.IsIp_Banned(ipAddress.ToString()))return View("Banissement");                                                                               


        }


        public ActionResult Reinitialiser() {
            return View();
        }

但是,如果我点击链接,它会将我重定向到动作Login

为什么会这样?我怎么能纠正它?

2 个答案:

答案 0 :(得分:0)

你不应该在Reinitailiser方法上有[AllowAnonymous]属性吗?

答案 1 :(得分:0)

我找到了解决方案,我只是删除了[Authorize] [InitializeSimpleMembership][AllowAnonymous]属性,这是有效的