PartialView отображает новую страницу вместо div - PullRequest
2 голосов
/ 02 мая 2009

У меня была эта проблема раньше, и я не могу на всю жизнь вспомнить, как ее исправить или где я погуглил об этом.

Я возвращаю из действия частичное представление

        return PartialView("CommentsListControl", recipe.Comments);

Но это загружает новую веб-страницу, а не в мой div ПОЧЕМУ ?????????

<table width="100%">
    <tr><td>
        <div id="divComments">
            <% using (Ajax.BeginForm("CreateComment", new AjaxOptions { UpdateTargetId = "divCommentsList", InsertionMode = InsertionMode.Replace }))
               { %>
            <textarea id="comments" name="comments" rows="3" cols="60"></textarea>
            <table width="100%"><tr><td align="right">
                <a href="#" id="savecomment">Save Comment</a>
                <%= Html.Hidden("recipeid", Model.RecipeID) %>
            </td></tr>
            </table>
            <% } %>
        </div>
    </td></tr>
    <tr><td>
        <div id="divCommentsList">
            <% Html.RenderPartial("CommentsListControl", Model.Comments); %>
        </div>
    </td></tr>
</table>

1 Ответ

1 голос
/ 02 мая 2009

В показанном образце нет кнопки отправки в форме. В WebForms вы можете использовать элемент управления asp: Hyperlink для создания ссылки, которая выглядит так, как будто она отправила форму, но это потому, что WebForms реализует JavaScript для вас. В MVC вы должны сделать это самостоятельно. Попробуйте поменять ссылку «Сохранить комментарий» на кнопку «Отправить»:

<input type="submit" value="Save Comment" />

Затем используйте CSS для придания стиля кнопке вашего сердца.

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