Частичное представление Rendar в другом частичном представлении вместе с моделью данных с использованием функции jQuery .Ajax
Я работаю над приложением MVC 5 и хочу визуализировать частичное представление в другом частичном представлении с данными модели с использованием функции jQuery ajax. когда вызывается функция javaScript, она предполагает отправку идентификатора выбранного элемента обратно в контроллер, который работает нормально, и в свою очередь возвращает частичное представление вместе с моделью, которая не работает из следующего кода
<td>
<a href="#" class="SearchUser_Icon Hyperlink_Text" onclick="load_getUserListByGroupID(this)" id=@item.GroupID></a>
</td>
,
Функция JavaScript
function load_getUserListByGroupID(element)
{
var selectedGroupID = element.id;
alert(selectedGroupID);
$.ajax({
type: "POST",
url: "/UserManagement/SearchUsersByGroupID/",
dataType: "json",
data: { 'GroupID': selectedGroupID },
success: function (viewHTML) {
alert("success");
$("#userContentBlock").html(viewHTML);
},
error: function (errorData) { onError(errorData); }
}).done(function (result) {
alert("done!");
});
}
,
<div id="userContentBlock"></div>
Метод Контроллера
[HttpPost]
public ActionResult SearchUsersByGroupID(string GroupID)
{
int intID = Convert.ToInt32(GroupID);
var UsersListByGroupID = _userServices.GetUsersByGroupID(intID);
return PartialView("GetUsersListByGroup_Partial", UsersListByGroupID );
}
1 ответ
Решение
Вы возвращаете HTML, ожидая JSON в вызове ajax. Просто удалите dataType: "json"
из настроек и все должно работать как положено.
Тип данных, которые вы ожидаете получить от сервера. Если ничего не указано, jQuery попытается вывести его в зависимости от типа ответа MIME.