Перезагрузить пользовательский элемент управления MVC2 с помощью jQuery - PullRequest
2 голосов
/ 21 декабря 2010

Я знаю, что у меня было множество вопросов сегодня, но я все еще пытаюсь взять все под контроль, научившись правильно связывать MVC 2. Прежде чем перейти к вопросу, я уже попробовал решение, предлагаемое здесь , но я получаю внутреннюю ошибку сервера 500.

Итак, вот что я пытаюсь сделать, я даю пользователю возможность выбрать из списка навыков (загруженных в элемент управления пользователя ListView) или добавить новый в список и выбрать его. Добавление нового завершено (с использованием службы WCF и jQuery), но теперь я пытаюсь перезагрузить пользовательский контроль навыков.

В соответствии с решением, с которым я связан, я добавил действие в свой AccountController

public ActionResult GetSkillControl()
{
    return View("~/Views/Shared/SkillsListView.ascx");
}

У меня есть элемент управления внутри диапазона (поэтому он имеет контейнер)

<tr>
    <td style="vertical-align:top;"><label for="SkillsListView" title="Skills">Skills:</label></td>
    <td class="regElements"><span id="SkillListViewContainer"> <% Html.RenderPartial("SkillsListView"); %></span><%= Html.ValidationMessageFor(m => m.Skills, "*")%><br />
    <span id="AddSkillError"></span>
    Add: <input type="text" id="NewSkill" class="inputbox" style="width:75px;" />&nbsp;<input type="button" value="Add" id="AddSkill" name="AddSkill" /></td>
    <td></td>
</tr>    

И в моем вызове jQuery ajax у меня есть

success: function () {
    $('#SkillListViewContainer').load('../AccountController/GetSkillControl');
}

Когда консоль JavaScript в Chrome достигает этой точки, она возвращает внутреннюю ошибку 500. Что мне здесь не хватает?

1 Ответ

4 голосов
/ 21 декабря 2010

Исходя из стандартных маршрутов в ASP.NET MVC, попробуйте "/ Account / GetSkillControl". Все, что вы используете из метода загрузки jQuery, должно быть действительным URL. Маршрутизатор ищет или Account, а не AccountController. Также с помощью ведущего "/" он будет разрешен из корня сайта.

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