-1

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);
}
4

1 に答える 1