Ich habe ein Razor-Formular. Hier ist der nützliche Teil des Formulars.auf Formular senden Fehler url ändert sich
<div id="forgotBox" style="display:none;" class="col-xs-12 col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3 centerit">
<div class="col-md-12">
@using (Html.BeginForm("ForgotPassword", "Login", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.EditorFor(x => x.user, new { htmlAttributes = new { @class = "form-control", placeholder = "Email" } })<br />
@Html.ValidationMessageFor(x => x.user)
</div>
if (!String.IsNullOrWhiteSpace(ViewBag.ErrorMsg))
{
<div class="form-group field-validation-error">
@ViewBag.ErrorMsg
</div>
}
<div class="form-group">
<input type="submit" class="btn btn-primary" />
</div>
}
<div><a href="javascript:showLogin();">Login</a></div>
</div>
Hier ist die Controller-Methode ruft:
[HttpPost]
public ActionResult ResetPassword(LoginViewModel vm)
{
ViewBag.ErrorMsg = "";
if (vm.confirmpass != vm.newPass)
{
//some error condition
ViewBag.ErrorMsg = "Passwords do not match.";
} else if (!String.IsNullOrWhiteSpace(vm.user)){
//code here for when you want to process when we have the userID
}
return View("ForgotPassword", vm);
}
}
}
Die URL
, wenn der Benutzer auf dieser Seite bekommt ist example.org/login?user=123
Nach den return View("ForgotPassword", vm);
der URL-Änderungen
example.org/login/ForgotPassword
Ich möchte, dass es example.org/login?user=123
bleibt, da die Seite nicht erfolgreich übermittelt wurde und die URL-Parameter verwendet werden.
sagst du ich werde loswerden der 'neuen {enctype =" multipart/form-data "})) ' – codeNinja
Warum brauchst du das? Sie benötigen dieses Attribut, wenn Sie eine Datei senden möchten (Datei-Upload) – Shyju