Частичные виды в Asp.net MVC 3 RC2 - PullRequest
0 голосов
/ 23 декабря 2010

Я немного бездельничаю с MVC 3 и у меня возникают проблемы с отображением частичного представления.

Вот моя дилемма:

В моем представлении Home / Index Iиметь actionLink к моему контроллеру / action, Post / Create:

<p>
    @Html.ActionLink("Create Post", "Create", "Post")
</p>
<div id="PostCreation">
</div>  

My Create View - это частичное представление с базовой формой для заголовка, содержимого и т. д.:

@using (Html.BeginForm())
{
    <div>
        <fieldset>
            <legend>Post Creation</legend>

            <div class="editor-label">
                @Html.LabelFor(m => m.PostTitle)
            </div>
            <div class="editor-field">
                @Html.TextAreaFor(m => m.PostTitle)
            </div>
            <p>
                <input type="submit" value="Publish" />
            </p>
        </fieldset>
    </div>
}

Iдобавил некоторые jQuery в мой файл _Layout.cshtml для захвата кликов по атрибутам:

<script type="text/javascript">
      $(document).ready(function () {
          $('a').live('click', function () {
              $.get($(this).attr('href'), function (html) {
                  $('#PostCreation').html(html);
              });
          });
      });
</script> 

Затем клик должен обновить div PostCreation, который находится в представлении Home / Index.

Использование firebug Iобнаружил, что при выполнении шага через jQuery ParialView правильно отображается в Home / Index, но затем, когда я заканчиваю функцию jQuery, он отображает всю новую страницу, которая просто отображает форму Post / Create.

Любая помощьценится.Благодаря.

1 Ответ

1 голос
/ 23 декабря 2010

Вам необходимо отменить навигацию в вашем jQuery.

Попробуйте изменить .live() подпись на эту:

          $('a').live('click', function (e) {
              e.preventDefault();
              $.get($(this).attr('href'), function (html) {
                  $('#PostCreation').html(html);
              });
          });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...