在我的项目中,我需要能够在网页上显示给定日期范围的数据。
我的控制器是这样:
public JiraDashboardController(IOptions<Config> app)
{
appSettings = app;
_jira = Jira.CreateRestClient(appSettings.Value.BaseUrl, appSettings.Value.UserName,appSettings.Value.Password);
_db = new UserDashboard(appSettings.Value.UserName, appSettings.Value.ProjectName, _jira);
startDate = new DateTime(2019, 01, 01); // debugging purposes
endDate = new DateTime(2019, 02, 11); // debugging purposes
}
public ActionResult Index(DateTime fromDate, DateTime toDate)
{
ViewData["OpenedIssues"] = _db.IssuesOpenedInRange(fromDate, toDate);
ViewData["ClosedIssues"] = _db.IssuesClosedInRange(fromDate, toDate);
return View();
}
和相应的视图:
@model MyProject.Models.Jiras
@{
ViewData["Title"] = "Index";
}
<h2>Index</h2>
<h3>Total issues opened: @ViewData["OpenedIssues"]</h3>
<h3>Total issues closed: @ViewData["ClosedIssues"]</h3>
<div>
<p>From Date: <input type="text" id="fromdate"></p>
</div>
<br/>
<br/>
<div>
<p>To Date: <input type="text" id="toDate"></p>
</div>
<script>
$(function () {
$("#fromdate").datepicker();
$("#toDate").datepicker();
});
</script>
我假设使用的是standard jQuery date picker,但我不知道将所选值重新返回方法的最佳方法。
做到这一点的最佳方法是什么?
答案 0 :(得分:0)
您可以执行以下操作:
<form asp-controller="YourControllerName" asp-action="Index" method="post">
<div>
<p>From Date: <input type="text" id="fromdate" name="fromDate"></p>
</div>
<br/>
<br/>
<div>
<p>To Date: <input type="text" id="toDate" name="toDate"></p>
</div>
<input type="submit" value="Submit" />
</form>
别忘了在Views文件夹中添加 _ViewIports.cshtml 并添加以下代码,这将启用标记助手。
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
别忘了为您的输入添加名称,就像我所做的一样。 模型绑定将处理将字符串转换为Date的问题。