2014-02-27 102 views
0

我想要生成一個視圖的HTML並將其加載到模態窗口中。渲染查看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); 
    } 
+0

我認爲你需要在你的行動'[HttpPost]'屬性。 – Liam

+0

仍返回erorr [Objec t對象] – szpic

回答

2

嘗試刪除JSON.stringify數據屬性在Ajax調用

而且改變的dataType (類型從控制器的數據回報)屬性「HTML。

data: {'id', $(this).attr('id')}, 
datatype: "html", 
+0

不幸的是還沒有。 – szpic

+0

將數據類型:「json」更改爲數據類型:「html」 – HCJ