MVCアプリケーションで非常に単純な検索フォームを作成しました。これにより、ユーザーは文字列を検索して結果を返すことができます。 2つの日付の間にユーザーの検索を許可したいのですが、どのようにプログラムするのかはわかりません。Cを使用して2つの日付を検索するにはどうすればいいですか
ここまでは私のコードです。これは、コントローラにパラメータとして渡される文字列を検索する場合にのみ使用されます。私は日付ピッカーのコードを書いて始めたが、私は立ち往生してしまった。
ビュー
<h2>Search</h2>
@using (Ajax.BeginForm("Search", "Search", new AjaxOptions
{
OnSuccess = "Success",
OnFailure = "Failure",
UpdateTargetId = "test",
InsertionMode = InsertionMode.Replace
}))
{
<table class="table">
<tr>
<td><label>Vessel Name</label></td>
<td>@Html.TextBox("term",null, new { @class = "k-textbox" })</td>
</tr>
<tr>
<td>
<label>From</label>
@(Html.Kendo().DatePicker()
.Name("date_from")
.Value(DateTime.Today)
)
</td>
<td>
<label>To</label>
@(Html.Kendo().DatePicker()
.Name("date_to")
.Value(DateTime.Today)
)
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Search" />
</td>
</tr>
</table>
}
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Location</th>
<th>MMSI</th>
<th>Created</th>
</tr>
</thead>
<tbody id="test">
@Html.Partial("_results")
</tbody>
</table>
コントローラ
public ActionResult Search(string term, DateTime date_from, DateTime date_to)
{
var vessels = (from o in db.vessels
select o);
if (!String.IsNullOrEmpty(term))
{
vessels = vessels.Where(s =>
s.vessel_name.Contains(term) ||
s.vessel_location.Contains(term) ||
s.vessel_mmsi.Contains(term));
}
return PartialView("_results", vessels);
}
部分図 私は私が使用して部分図のような結果を返すターゲットIDを更新するために、AJAXを使用していますので、 '置換'挿入メソッド。
@model IEnumerable<Multiple_Table_Post.Models.vessel>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.vessel_name)
</td>
<td>
@Html.DisplayFor(modelItem => item.vessel_location)
</td>
<td>
@Html.DisplayFor(modelItem => item.vessel_mmsi)
</td>
<td>
@Html.DisplayFor(modelItem => item.created)
</td>
</tr>
}
あなたは、私が代わりに日付ピッカーを入れ始めているが、私は私がそれらの間で検索できるようにC#の書き方を知らないに気づくでしょうとして。私はdatetimeパラメータとしてメソッドに渡していますが、後は完全に止まっています。あなたが示されたLINQクエリのいずれかでこれを行うことができ
感謝
に見られるように、また、第二LINQクエリで日付をフィルタすることができます(これらすべての恐ろしいものを追加することができます例:[tag:ajax])をタグとして使用しますか?タイトルは簡単に聞こえるが、それは私のものではない。 – Sinatr