将视图html渲染为字符串

时间:2014-02-27 08:19:52

标签: javascript jquery ajax asp.net-mvc

我正在尝试生成一个View的html并将其加载到模态窗口中。

控制器收到正确的ID。并返回View。我假设ajax不会将返回数据识别为正确的响应并抛出错误。

有人可以建议我修改代码,以便我获取视图的HTML代码吗?

这是我的Ajax代码:

$(document).ready(function () {
$('.details-btn').on('click', function () {
    $.ajax({
        url: "/Device/Details",
        type: "POST",
        contentType: "application/json; charset=utf-8",
        dataType: 'json',
        data: JSON.stringify({ id: $(this).attr('id') }),
        error: function (data) {
            alert("wystąpił nieokreślony błąd " + data);
        },
        success: function (data) {
            console.log(data);
            $('.modal-body').append(data);
            $("#DetailsModal").modal('show');
        }
    });
});

});

和控制器方法我正在调用

public Details(int? id)
    {
        if (id == null)
        {
            return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
        }
        Device device = unitOfWork.deviceRepository.GetByID(id.Value);
        if (device == null)
        {
            return HttpNotFound();
        }
        return View(device);
    }

1 个答案:

答案 0 :(得分:2)

尝试删除ajax调用中的data属性的JSON.stringify

同时将dataType (从控制器返回的数据类型)属性更改为“html。

data: {'id', $(this).attr('id')},
datatype: "html",
相关问题