Asp.net mvc 2 asp.NETMVC更改密码问题firefox
//更新:所述问题仅在Firefox浏览器中出现 我用MVC2.0编写了一个小应用程序,它使用aspnetdb管理用户和标准帐户控制器/视图等 我的问题是,当我试图更改用户密码时,有时在键入旧密码并输入新密码后,会打开另一个窗口,我可以(?)选择要更改密码的用户 这是非常奇怪的,它只发生在应用程序中的一些用户身上,而对于其他用户,它工作得相当好 有人能给我一些建议吗 更新: 我不知道有什么区别,起初我以为这取决于他们在应用程序中定义的角色,但后来这个模式失败了。 我这里不使用任何js 我的控制器操作如下所示:Asp.net mvc 2 asp.NETMVC更改密码问题firefox,asp.net-mvc-2,firefox,membership,change-password,Asp.net Mvc 2,Firefox,Membership,Change Password,//更新:所述问题仅在Firefox浏览器中出现 我用MVC2.0编写了一个小应用程序,它使用aspnetdb管理用户和标准帐户控制器/视图等 我的问题是,当我试图更改用户密码时,有时在键入旧密码并输入新密码后,会打开另一个窗口,我可以(?)选择要更改密码的用户 这是非常奇怪的,它只发生在应用程序中的一些用户身上,而对于其他用户,它工作得相当好 有人能给我一些建议吗 更新: 我不知道有什么区别,起初我以为这取决于他们在应用程序中定义的角色,但后来这个模式失败了。 我这里不使用任何js 我的控制器
[Authorize]
public ActionResult ChangePassword()
{
ViewData["PasswordLength"] = this.MembershipService.MinPasswordLength;
return View();
}
[Authorize]
[HttpPost]
public ActionResult ChangePassword(ChangePasswordModel model)
{
if (ModelState.IsValid)
{
if (this.MembershipService.ChangePassword(User.Identity.Name, model.OldPassword, model.NewPassword))
{
return RedirectToAction("ChangePasswordSuccess");
}
else
{
ModelState.AddModelError(String.Empty, "Błędne hasło aktualne lub nowe nie spełnia wymagań.");
}
}
// If we got this far, something failed, redisplay form
ViewData["PasswordLength"] = this.MembershipService.MinPasswordLength;
return View(model);
}
和ChangePassword.aspx
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<TheApp.Web.Models.ChangePasswordModel>" %>
<asp:Content ID="changePasswordTitle" ContentPlaceHolderID="TitleContent" runat="server">
Change Password
</asp:Content>
<asp:Content ID="changePasswordContent" ContentPlaceHolderID="MainContent" runat="server">
<h2>Change Password</h2>
<p>
Min password length: <%= Html.Encode(ViewData["PasswordLength"]) %>.
</p>
<% using (Html.BeginForm()) { %>
<%= Html.ValidationSummary(true, "Message.") %>
<div>
<fieldset>
<legend>Account Information</legend>
<div class="editor-label">
<%= Html.LabelFor(m => m.OldPassword) %>
<%= Html.HiddenFor(m => m.UserName) %>
</div>
<div class="editor-field">
<%= Html.PasswordFor(m => m.OldPassword) %>
<%= Html.ValidationMessageFor(m => m.OldPassword) %>
</div>
<div class="editor-label">
<%= Html.LabelFor(m => m.NewPassword) %>
</div>
<div class="editor-field">
<%= Html.PasswordFor(m => m.NewPassword) %>
<%= Html.ValidationMessageFor(m => m.NewPassword) %>
</div>
<div class="editor-label">
<%= Html.LabelFor(m => m.ConfirmPassword) %>
</div>
<div class="editor-field">
<%= Html.PasswordFor(m => m.ConfirmPassword) %>
<%= Html.ValidationMessageFor(m => m.ConfirmPassword) %>
</div>
<p>
<input type="submit" value="Change Password" />
</p>
</fieldset>
</div>
<% } %>
</asp:Content>
调用。我在我的视图中在所有输入字段中添加了
autocomplete=“off”
,这很有帮助:)您需要添加更多信息,很可能还有一些代码片段。例如,经历过这种情况的用户和没有经历过这种情况的用户有什么不同?更改密码的操作是什么样子的?更改密码表单上是否有javascript?
public ActionResult ChangePassword(ChangePasswordModel model)