我有两个文本框,从日期和日期开始,我想为hrs添加另外两个文本框:min,如何添加两个文本框并将值传递给我的控制器,以便我可以根据日期过滤记录到了日期和时间。
视图
<span style="float:left; padding:10px;">Ftom Date : </span><input type="text" name="fromDate" value="@(ViewBag.FromDate != null ? Convert.ToDateTime(ViewBag.FromDate).ToString("dd/MM/yyyy") : "")" class="form-control datetime" id="txtFromDate" style="float:left; width:100px;" />
<span style="float:left; padding:10px;">HRS : </span><input type="text" name="FromHrs" value="" class="form-control datetime" id="txtFromDate" style="float:left; width:50px;" placeholder="Hrs" /><input type="text" name="FromMin" value="" class="form-control datetime" id="txtFromDate" style="float:left; width:50px;" placeholder="Min" />
<span style="float:left; padding:10px;">To Date : </span><input type="text" name="toDate" value="@(ViewBag.ToDate != null ? Convert.ToDateTime(ViewBag.ToDate).ToString("dd/MM/yyyy") : "")" class="form-control datetime" id="txtToDate" style="float:left; width:100px;" />
<span style="float:left; padding:10px;">HRS : </span><input type="text" name="ToHrs" value="" class="form-control datetime" id="txtFromDate" style="float:left; width:50px;" placeholder="Hrs" /><input type="text" name="ToMin" value="" class="form-control datetime" id="txtFromDate" style="float:left; width:50px;" placeholder="Mins" />
<span style="float:left; padding:10px;">Device : </span>
@using (Html.BeginForm("Index", "SignalTesting", FormMethod.Post, new { enctype = "multipart/form-data", id = "form" }))
{
<div>
<span >Ftom Date : </span><input type="text" name="fromDate" value="@(ViewBag.FromDate != null ? Convert.ToDateTime(ViewBag.FromDate).ToString("dd/MM/yyyy") : "")" class="form-control datetime" id="txtFromDate" />
<span>To Date : </span><input type="text" name="toDate" value="@(ViewBag.ToDate != null ? Convert.ToDateTime(ViewBag.ToDate).ToString("dd/MM/yyyy") : "")" class="form-control datetime" id="txtToDate" />
<span >Device : </span>
<select id="ddlDevices" name="DeviceID" class="form-control" >
...
</select>
<input type="submit" value="Submit" class="btn btn-default" />
</div>
}
</div>
controller
private AssetTracker getAssetDetails(string deviceID,int FHrs,int ToHrs,int FromMin,int ToMin, DateTime? fromDate = null, DateTime? toDate = null)
{
int Fromhours = FHrs;
int Tohours = ToHrs;
int From_min = FromMin;
int To_min = ToMin;
var items = Pirs.Where(a => !a.dataFrame.EndsWith("AAAAAAAAAAA=") && (fromDate == null || fromDate.Value.Date <= TimeZoneInfo.ConvertTimeFromUtc(Convert.ToDateTime(a.timestamp), TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")).Date) && (toDate == null || toDate.Value.Date >= TimeZoneInfo.ConvertTimeFromUtc(Convert.ToDateTime(a.timestamp), TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")).Date) && TimeZoneInfo.ConvertTimeFromUtc(Convert.ToDateTime(a.timestamp), TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")).Hour >= Fromhours && TimeZoneInfo.ConvertTimeFromUtc(Convert.ToDateTime(a.timestamp), TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")).Hour <= Tohours
&& TimeZoneInfo.ConvertTimeFromUtc(Convert.ToDateTime(a.timestamp), TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")).Minute >= From_min && TimeZoneInfo.ConvertTimeFromUtc(Convert.ToDateTime(a.timestamp), TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")).Minute <= To_min)
}
答案 0 :(得分:1)
我不确定这是否是你需要的。
将时间输入字段添加到表单:
<input type="text" id="fromTime" name="fromTime" />
<input type="text" id="toTime" name="toTime" />
然后更新控制器以接收新的表单值:
private AssetTracker getAssetDetails(string deviceID, DateTime? fromDate = null, DateTime? toDate = null, string fromTime, string toTime )