问题与我之前发布的问题(ASP.NET MVC partial view does not call my Action)有关。在实践中,我有一个包含表单的局部视图,在提交表单之后,Controller返回部分视图。
问题是,如果我重新加载包含部分视图的页面,函数<%= Url.Action("ChangePassword", "Account") %>
将返回“帐户/ ChangePassword ”,如果我提交表单并且部分由控制器。
使用return PartialView()
功能<%= Url.Action("ChangePassword", "Account") %>
仅返回“ ChangePassword ”。
任何想法都是因为?
视图如下:
<form action="<%= Url.Action("ChangePassword", "Account") %>" method="post" id="jform">
<div>
<fieldset>
<legend>Account Information</legend>
<p>
<label for="currentPassword">Current password:</label>
<%= Html.Password("currentPassword") %>
<%= Html.ValidationMessage("currentPassword") %>
</p>
<p>
<label for="newPassword">New password:</label>
<%= Html.Password("newPassword") %>
<%= Html.ValidationMessage("newPassword") %>
</p>
<p>
<label for="confirmPassword">Confirm new password:</label>
<%= Html.Password("confirmPassword") %>
<%= Html.ValidationMessage("confirmPassword") %>
</p>
<p>
<input type="submit" value="Change Password" />
</p>
</fieldset>
</div>
</form>
</div>
<script>
$(function() {
$('#jform').submit(function() {
$('#jform').ajaxSubmit({ target: '#FmChangePassword' }); return false;
});
});
</script>
控制器的一部分:
if (!ValidateChangePassword(currentPassword, newPassword, confirmPassword))
{
return PartialView(ViewData);
}
答案 0 :(得分:0)
尝试使用Html.BeginForm
http://msdn.microsoft.com/en-us/library/dd492714(v=VS.90).aspx