Частичное представление ASP.NET MVC не вызывает мое действие - PullRequest
2 голосов
/ 08 марта 2010

Я только начал создавать небольшой простой веб-сайт на 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);                
        }

Ответы [ 2 ]

1 голос
/ 09 марта 2010

Используйте FireBug для просмотра возвращенного HTML, проверьте, все ли в порядке. Проверьте в консоли FireBug, чтобы увидеть, какие данные (и куда) публикуются при втором нажатии.

0 голосов
/ 20 февраля 2017

Вы не можете Javasript на частичное представление. Вы должны определить это в родительском представлении

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...