DropDownList を変更してデータを変更したいビューがあります。すべて正常に動作しますが、ビューは新しいデータ セットでレンダリングされません。つまり、コントローラーのアクション メソッドにデータを投稿すると、ビューに戻ることができません。ここに私のコードがあります:
意見:
@model IEnumerable<Model.Params>
<table>
@foreach(var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
</tr>
}
</table>
<div>
@(Html.Kendo().DropDownList()
.Name("datetime")
.DataTextField("DateText")
.DataValueField("DateText")
.Events(e => e.Change("datesChange"))
.DataSource(ds => ds.Read("Read_Intervals", "MyController"))
)
</div>
<script>
function datesChange() {
var value = $("#datetime").val();
$.post("@Url.Action("Kq_Read", "MyController")" + "?date=" + value);
}
</script>
コントローラ:
public ActionResult Kq(string date)
{
IQueryable<Params> kq;
if (date != null)
{
var datetime = Convert.ToDateTime(date);
kq = db.Params.Where(p => p.LogDate == datetime);
}
else
{
var datetime = GetLatestInterval();
kq = db.Params.Where(p => p.LogDate == datetime);
}
return View("Kq", kq);
}
[HttpPost]
public ActionResult Kq_Read(string date)
{
var datetime = Convert.ToDateTime(date);
var kq = db.Params.Where(p => p.LogDate == datetime);
return View("Kq", kq);
}