将数据从视图传递到 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 传递到文本字段以在核心数据模型中进行编辑

将数据从标签栏控制器传递到 swift 和 xcode 中的视图控制器

将数据从控制器传递到 Laravel 中的视图

如何将数据从剃刀视图传递到 mvc3 中的控制器?