1

これは、「ホーム」コントローラーの「インデックス」アクションにいくつかのデータ(ここではカレンダーの日付)を投稿し、このデータをデータベースに保存し、同時に別の別のアクションにリダイレクトしたいコードです。コントローラー、つまり「ホーム」コントローラーの「インデックス」アクション

ここに私のjqueryコードがあります、

  function getDate() {

            $('.cal_daybox').on('click', function () {

           var timestamp = parseInt($(this).attr('id'));

                var day = new Date(timestamp);

                alert("You clicked " + day.toDateString());

                var url = '@Url.Content("~/Home/Index")';
                var date = day.toDateString();
                $.ajax({
                    type: "POST",
                    url: url,
                    data: { date: day.toDateString() },
                    dataType:"json"
                });                  
             return false;
            });  

EventsController.cs

  public ActionResult Index()
    {
        return View(db.Events.ToList());
    }

HomeController.cs

[HttpPost]
    public ActionResult Index(DateTime date)
    {

            Date dt = new Date();
            dt.StartDate = date;
            db.Dates.Add(dt);   
            db.SaveChanges();
            return RedirectToAction("Index", "Events", new { id = dt.DateID });
    }
4

2 に答える 2

0

イベント コントローラのインデックス アクションには、Dateid 値を受け取るためのパラメータがありません。DateId 値を受け取ることができるアクションを見つけることができません。

既存のアクションを変更するか、このようにアクション オーバーロードを追加する必要があります

public ActionResult Index(DateTime dateId)
{
    //Do something with the val
}

public ActionResult Index()
{
    return View(db.Events.ToList());
}
于 2013-05-04T07:53:26.173 に答える