0

フォームの値を渡すにはどうすればよいですか。これは(私が想定している)日付の文字列です。

これが私の見解です:

<script type="text/javascript" language="javascript">
$(function () {
    $(".datepicker").datepicker({ onSelect: function (dateText, inst) { $("FORM").submit(); },
        altField: ".alternate"
    });

});

</script>
@model IEnumerable<CorReservation.Models.Reservation>
@{
ViewBag.Title = "Index";
}
<div class="divRightSide">

<div>
    <div class="datepicker">
    </div>
    <form action="/" title="fff">
    <input type="text" class="alternate" readonly="readonly" />
    </form>
</div>
// do something eg.  foreach (var item in Model)
        { @Html.DisplayFor(modelItem => item.Date)}

これが私のコントローラーです:日付ピッカーから選択した日付をコントローラーに渡したいのですが、コントローラーは予約のIenumerableを返します...

    DateTime date = System.DateTime.Now;
    private ReservationEntities db = new ReservationEntities();

    public ViewResult Index()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Index(string dateInput)
    {

        date = Convert.ToDateTime(dateInput);

        var reservations = db.Reservations.Where(r=> r.Date ==date).Include(r => r.Employee).Include(r => r.Room).OrderByDescending(r => r.Date);

        return View(reservations);
    }
4

2 に答える 2

0

これを行うには2つの方法があります。フォームの入力名属性を、コントローラーで期待される属性と一致させます。

例えば:

<input type="text" class="alternate" readonly="readonly" name="dateInput" />

または、入力値が多くなる場合は、モデルを使用します。

于 2012-05-11T08:09:43.237 に答える
0

送信するHTMLフィールドの「name」属性に基づいて自動的に実行されます。

フォームをに変更します

<form action="/" title="fff">
    <input name="dateInput" type="text" class="alternate" readonly="readonly"  />
</form>

そして、それはそのように機能するはずです。

また、Razor構文を使用しているので、次のようなRazorHTMLヘルパーを使用できます。

@model IEnumerable<CorReservation.Models.Reservation>
@{
    ViewBag.Title = "Index";
}
<div class="divRightSide">

<div>
    <div class="datepicker">
    </div>
    @using(@Html.BeginForm("<your controller name>", "<your action name e.g. Index>"){
      Html.TextBox("dateInput", "", new { @readonly="readonly", @class="alternate" })
    }
</div>
// do something eg.  foreach (var item in Model)
        { @Html.DisplayFor(modelItem => item.Date)}
于 2012-05-11T08:10:49.870 に答える