Javascript 使用AJAX刷新ASP.NET MVC中的部分视图
我目前正在使用ASP.NET MVC5和Highcharts创建一个网站: 选择和图表分为部分视图。我的目标是单击selection视图中的一个按钮,将一个变量传递给控制器,调用一些函数并仅刷新图表部分视图Javascript 使用AJAX刷新ASP.NET MVC中的部分视图,javascript,jquery,asp.net,ajax,highcharts,Javascript,Jquery,Asp.net,Ajax,Highcharts,我目前正在使用ASP.NET MVC5和Highcharts创建一个网站: 选择和图表分为部分视图。我的目标是单击selection视图中的一个按钮,将一个变量传递给控制器,调用一些函数并仅刷新图表部分视图 <div id="divSelect" style="width: 100%;"> @{Html.RenderPartial("_SelectPartial");} </div> <div id="divHighCharts" align="cent
<div id="divSelect" style="width: 100%;">
@{Html.RenderPartial("_SelectPartial");}
</div>
<div id="divHighCharts" align="center" style="width: 100%;">
@{Html.RenderPartial("_CreateHighchartsPartial");}
</div>
_选择部分:
@{
ViewBag.Title = "Partial View chartPartial";
}
<link type="text/css" href="../../Scripts/jquery-ui-1.10.3/css/ui-darkness/jquery-ui-1.10.3.custom.css" rel="stylesheet" />
<link type="text/css" href="../../Content/Site.css" rel="stylesheet" />
<script type="text/javascript">
$(document).ready(function () {
$('#RefreshButton').click(function () {
var IntervallHours = {
ID: 94,
}
$.ajax({
type: "POST",
url: "/Highcharts/AjaxCall",
data: IntervallHours,
success: function (data) {
}
})
});
});
</script>
<div id="Auswahl" align="center">
<br />
<br />
Startdatum: <input type="text" id="dateBegin" />
Enddatum: <input type="text" id="dateEnd" />
<button id="RefreshButton" class="button">Start</button>
<br />
<br />
<button id="1hourButton" class="button">1 Stunde</button>
<button id="24hoursButton" class="button">24 Stunden</button>
<button id="1weekButton" class="button">1 Woche</button>
<button id="1monthButton" class="button">1 Monat</button>
<button id="3monthButton" class="button">3 Monate</button>
<button id="allButton" class="button">Alle</button>
<br />
<br />
<input class="sende01" type="button" value="1 Stunde">
<input class="sende01" type="button" value="24 Stunden">
<input class="sende01" type="button" value="1 Woche">
<input class="sende01" type="button" value="1 Monat">
<input class="sende01" type="button" value="3 Monate">
<input class="sende01" type="button" value="Alle">
</div>
<hr />
hourintervallllillint的新值已正确传递,CreateHighcharts()函数也在工作。我的问题是,局部视图没有重新加载。我认为AJAX函数中缺少了一些成功的东西
如果您有更简单的方法将javascript变量传递给控制器、调用函数和刷新局部视图,请随时发布
@{
ViewBag.Title = "Partial View chartPartial";
}
<link type="text/css" href="../../Scripts/jquery-ui-1.10.3/css/ui-darkness/jquery-ui-1.10.3.custom.css" rel="stylesheet" />
<link type="text/css" href="../../Content/Site.css" rel="stylesheet" />
<script type="text/javascript">
$(document).ready(function () {
$('#RefreshButton').click(function () {
var IntervallHours = {
ID: 94,
}
$.ajax({
type: "POST",
url: "/Highcharts/AjaxCall",
data: IntervallHours,
success: function (data) {
}
})
});
});
</script>
<div id="Auswahl" align="center">
<br />
<br />
Startdatum: <input type="text" id="dateBegin" />
Enddatum: <input type="text" id="dateEnd" />
<button id="RefreshButton" class="button">Start</button>
<br />
<br />
<button id="1hourButton" class="button">1 Stunde</button>
<button id="24hoursButton" class="button">24 Stunden</button>
<button id="1weekButton" class="button">1 Woche</button>
<button id="1monthButton" class="button">1 Monat</button>
<button id="3monthButton" class="button">3 Monate</button>
<button id="allButton" class="button">Alle</button>
<br />
<br />
<input class="sende01" type="button" value="1 Stunde">
<input class="sende01" type="button" value="24 Stunden">
<input class="sende01" type="button" value="1 Woche">
<input class="sende01" type="button" value="1 Monat">
<input class="sende01" type="button" value="3 Monate">
<input class="sende01" type="button" value="Alle">
</div>
<hr />
public class HighchartsController : Controller
{
public int hourIntervallllllINT=6000;
[HttpPost]
public ActionResult AjaxCall(UserModel model)
{
hourIntervallllllINT = model.ID;
CreateHighcharts();
return Json(new{success = true});
}
...
...
...
public ActionResult CreateHighcharts()
{
GetDatabaseData(1, hourIntervallllllINT);
createSeries(1, "tempValue");
createSeries(1, "humidityValue");
Highcharts chart1 = new Highcharts("chart1")
...
...
...
return View(new Container(new[] { chart1, chart2, chart3 }));
}