我有一個問題,點擊哪個應該只刷新頁面的一部分(局部視圖)打開新頁面只用「選擇」 (這是應在索引頁面內顯示的部分)。我正在嘗試使用本教程http://csharp-video-tutorials.blogspot.sk/2013/09/part-92-ajax-with-aspnet-mvc.html來做到這一點,但我不知道什麼是錯的 - 在這個論壇中我也沒有發現任何問題。ASP.NET MVC 5中的Ajax(局部視圖)不起作用 - 總是打開僅局部視圖
資源共享_layout:
@Scripts.Render("~/bundles/jquery")
內部地圖/索引:
@Ajax.ActionLink("All", "GetTracks",
new AjaxOptions
{
HttpMethod = "GET", // HttpMethod to use, GET or POST
UpdateTargetId = "mytestdiv", // ID of the HTML element to update
InsertionMode = InsertionMode.Replace // Replace the existing contents
})
<div id="mytestdiv">
</div>
地圖控制器(我知道這是隻使用Viewbag壞的解決方案 - 這只是暫時的):
public PartialViewResult GetTracks()
{
List<int> trackIDs = new List<int>();
var queryTrack = from dTrack in db.track
where dTrack.device_id == 1
select dTrack.id;
foreach (int trackId in queryTrack)
{
trackIDs.Add(trackId);
}
ViewBag.trackIDs = trackIDs;
return PartialView("SelectTrackView");
}
我想用Ajax重新加載,位於〜/ Views/Map/SelectTrackView.cshtml中:
<select id="SelectTrack" name="idTrack" class="form-control" style="margin:20px" onchange="selectTrack()">
@foreach (int number in ViewBag.trackIDs)
{
if (ViewBag.selectedidTrack == @number)
{
<option value="@number" selected="selected">@number</option>
}
else
{
<option value="@number">@number</option>
}
}
</select>
感謝您的幫助。
有瀏覽器的JavaScript控制檯的任何錯誤? – Gregoire
沒有,控制檯是乾淨 – Tunerx
而也這是源代碼,如何最終看起來像:All