0
我試圖做一個ajax調用,它將加載一個新模型並基於當前加載的模型重新加載我的editorTemplates。在ajax調用上加載新模型EditorTemplate - MVC項目
現在我有創建HotelModel它看起來像這樣:
public class HotelsModel
{
public List<HotelsReservationModel> HotelsReservation { get; set; }
public bool SkipButton { get; set; }
}
public class HotelsReservationModel
{
public string City { get; set; }
public DateTime CheckIn { get; set; }
public DateTime CheckOut { get; set; }
public List<Hotel> Hotels { get; set; }
}
public class Hotel
{
public string Name { get; set; }
public int Rating { get; set; }
}
然後,我創造了一些EditorTemplates:HotelsReservationModel.cshtml & Hotel.cshtml
現在,我有以下訂購:
- Index.cshtml(致電HotelsModel)
- HotelsReservationModel.cshtml(主叫HotelsReservationModel)
- Hotel.cshtml(主叫酒店)
我想在一個新的酒店(模型)來傳遞,所以當用戶點擊搜索,一個Ajax調用會發生,有些人知道酒店應該出現。
我的Ajax代碼:從HotelsReservationModel.cshtml
<script type="text/javascript">
$(function() {
var res = {
loader: $("<div />", { class: "loader" }),
};
$('#search').on('click', function() {
$.ajax({
type: 'GET',
url: "@Url.Action("Find", "Hotel")",
datatype: "html",
beforeSend: function() {
$("#group-panel-ajax").append(res.loader);
},
success: function (data) {
$("#group-panel-ajax").find(res.loader).remove();
$('#group-panel-ajax').html(data);
}
});
return false;
});
});
</script>
代碼
<div class="group-panel" id="group-panel-ajax">
@Html.EditorFor(m => m.Hotels)
</div>
的ActionResult查找方法
public ActionResult Find()
{
Hotel model = new Hotel()
{
Name = "Cromwell Hotel ",
Rating = 5,
};
return PartialView("Hotel", model);
}
可以看到我做錯了什麼嗎?如果我運行「返回部分視圖(」索引「,模型)的東西是加載..那麼整個頁面與模型加載內部div。我想要的只是加載」酒店「 - >新模型Hotel.cshtml。
你能否澄清一下不工作?你的ajax調用是否到達你的服務器方法?成功回調中是否有任何數據返回? –
當我嘗試加載「索引」頁面它工作..但我想它加載EditorTemplate文件夾內的酒店頁面。 – Mikkel