0

私は mvc4 でイベント カレンダーを作成しています。JQuery を使用して JavaScript で単純なカレンダーを作成しました。それぞれの日をクリックして日付を取得できます。この日付を使用してデータベースに保存できるように、コントローラの 1 つのアクションでこの日付を取得したいと考えています。

ホームコントローラー: index.cshtml:

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("~/Events/Index")';
                   // window.location = url;

                    var date =day.toDateString();


                    $.ajax({
                        type: "POST",
                        url: url,
                        data: date,
                        dataType:"json"
                    });
                    return false;
                });
                }

デバッガーでこの日付を取得できるようになりましたが、この日付を別のビューに表示したいと考えています。以下のコードが機能しないため、この日付値をコントローラーに渡す方法を教えてください。

Eventscontroller.cs:

[HttpPost]

    public ActionResult Index(string date)
    {

        if (Request.IsAjaxRequest())
        {
            return Json(date, JsonRequestBehavior.AllowGet);
        }

        return RedirectToAction("Index");
    }
4

1 に答える 1

2

おそらく@Url.Action("actionName", "controllerName")代わりに@Url.Content(). @Url.Contentコントローラーアクションではなく、ファイルにアクセスするためのものです。@Url.RouteUrlまたは、そのアクションに対してルートが定義されている場合に使用できます。

また、アクションのパラメーターと一致するdataように使用するように変更することもできます。data: { date: day.toDateString() }

于 2013-05-03T12:38:03.013 に答える