ASP.NET MVC에서 작은 간단한 웹 사이트를 구축하기 시작했습니다. 부분 뷰를 사용하고있는 페이지에서 부분 뷰는 간단한 양식을 나타냅니다. 버튼을 클릭하고 첫 번째 시간을 클릭하면 성공으로 제출되고 유효성 검사 메시지 (내용이 유효하지 않은 경우)로 부분보기를 반환하지만 다시 시도하려는 경우 작업이 다시 호출되지 않습니다. 어떤 아이디어?ASP.NET MVC 부분 뷰가 내 작업을 호출하지 않습니다.
보기 : 컨트롤러의
<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;
});
});
/*$(document).ready(function() {
$('#jform').live('submit', function() {
$.post($(this).attr('action'), $(this).serialize(), function(data) {
$("#jform").replaceWith($(data));
});
return false;
});
});*/
</script>
부 :
if (!ValidateChangePassword(currentPassword, newPassword, confirmPassword))
{
return PartialView(ViewData);
}
힌트를 보내 주셔서 감사합니다. 제가 해냈습니다. 방금 생각한 문제가 있습니다. 나중 부분보기로 돌아 오면 양식에는 작업 속성에는 작업 이름이 포함되지만 컨트롤러에는 포함되지 않습니다. 대신 : <폼 ID = "jform"방법 = "게시물"행동 = "계정 /과 changepassword"> 이 <폼 ID = "jform"방법 = "게시물"행동을 반환 = "과 changepassword" > 시스템이이를 수행하기 때문에 아이디어가 있습니까? jQuery를 사용하여 컨트롤러를 할당 할 수 있습니까 ??? 미리 감사드립니다. Johannes – john84
아마도 생성자의 viewdata 객체없이 "return PartialView()"만 반환하면됩니다. 그것이 원인 일 수 있습니다. – Gidon
아니요 그냥 시도해 보았습니다. 생성자 호출에서 viewData를 삭제하더라도 문제가 존재합니다. – john84