将数据从视图传递到 dotnet 核心中的控制器
Posted
技术标签:
【中文标题】将数据从视图传递到 dotnet 核心中的控制器【英文标题】:Passing data from view to controller in dotnet core 【发布时间】:2019-07-06 05:51:56 【问题描述】:在我的项目中,我需要能够在网页上显示给定日期范围内的数据。
我的控制器是这样的:
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,但我不知道如何将我选择的值返回到方法中。
最好的方法是什么?
【问题讨论】:
【参考方案1】:你可以这样做:
<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
不要忘记为您的输入添加名称,就像我所做的那样。 模型绑定将处理将字符串转换为日期。
【讨论】:
以上是关于将数据从视图传递到 dotnet 核心中的控制器的主要内容,如果未能解决你的问题,请参考以下文章
将数据从 viewcontroller tableview 传递到另一个视图控制器
将 managedobject 从 uitableview 传递到文本字段以在核心数据模型中进行编辑