繁体   English   中英

将 JavaScript 值传递给 ASP.NET Core 控制器

[英]Pass a JavaScript value to ASP.NET Core Controller

我创建了一个 JavaScript 计算器,它将总和和用户输入的答案保存为一个数组。

我想将该数组发送到我的 ASP.NET Core 控制器,以便将其保存在数据库中。

我遇到了很多来自 ASP.NET 框架、隐藏字段、JQuery AJAX、WebAPI 等的串扰。

我正在阅读的很多内容是如何从服务器获取数据,而不是从服务器获取数据。

任何建议表示赞赏。

从 JavaScript 接口向 ASP.NET Core 控制器发送数据的标准方式是什么?

我使用表单和 asp-for="variableName" 标签轻松完成了这项工作。

<form asp-action="Index" asp-controller="Answers">
<fieldset>
    <select asp-for="var1">
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
    </select>
</fieldset>
<fieldset>
    <select asp-for="sumOperator">
        <option value="+">PLUS</option>
        <option value="-">MINUS</option>
        <option value="/">DIVIDE</option>
        <option value="*">TIMES</option>
    </select>
</fieldset>
<fieldset>
    <select asp-for="var2">
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
    </select>
</fieldset>
<input type="submit" value="Calculate" />
</form>
<p> @ViewBag.var1 @ViewBag.sumOperator @ViewBag.var2 = @ViewBag.answer</p>

但是,当然,我宁愿有一个华而不实的 JavaScript 计算器而不是下拉式计算器。

我假设您想异步执行此操作:

$.ajax(
    {
        type: "POST",
        async: true,
        url: '[CONTROLLER_PATH]',
        data: "[PARAM]=" + $.toJSON([YOUR_ARRAY]),
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            console.log("SUCCESS:" + msg);
        },
        error: function (msg) {
            console.log("error:" + msg);
        }
    });

这个 javascript 将数据异步发布到服务器。

您需要根据自己的需要调整以下内容:

  • [控制器_路径]
  • data参数 - 这是控制器的数组参数名称
  • success - 成功发布数据后,您希望发生什么(如果有)
  • failure - 我会由你来解决这个问题:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM