【问题标题】:ASP.NET MVC CORE 2.0 sending data from DOM to SQL ServerASP.NET MVC CORE 2.0 将数据从 DOM 发送到 SQL Server
【发布时间】:2018-02-21 18:04:23
【问题描述】:

我需要一个策略。

在网络表单中,我在<asp:UpdatePanel> 中使用了<asp:HiddenField>,将数据从DOM 来回发送到SQL Server。

这种方法的最大特点是避免了页面刷新 (!important)

在 ASP.NET MVC CORE 2.0 中,没有<asp:UpdatePanel>,我知道我必须从视图到控制器来回发送数据。

我在哪里可以找到一个工作示例,对于 ASP.NET MVC Core 2.0 的初学者来说足够简单?我为此工作了一整天,到目前为止,我所看到的一切都是比旧的<asp:HiddenField> > <asp:UpdatePanel> 复杂得多的大量样本。

【问题讨论】:

    标签: sql-server asp.net-core-mvc-2.0


    【解决方案1】:

    我想你想用新信息更新屏幕的一部分而不重新加载整个屏幕。

    以下 jQuery JavaScript 代码是调用控制器操作并返回一些数据然后将其填充到具有类结果的 DOM 元素中的示例:

       $('#CategoryID').on("change", function () {
            var categoryId = $('#CategoryID').val();
            $.get("/Products/UpdateSubCategories/" + categoryId , function (data) {
                console.log("Data: " + data);
                $('.result').html(data);
            });
        })
    

    当 ID 为 CategoryID 的元素发生更改时,此 JavaScript 将触发。

    这是控制器动作的示例:

       [HttpGet]
        public async Task<IActionResult> UpdateSubCategories(int id)
        {
            if (id==0)
            {
                NotFound();
            }
            ViewData["SubCategoryId"] = new SelectList(_context.SubCategories.Where(s => s.CategoryId == id).OrderBy(s => s.SubCategoryName), "Id", "SubCategoryName");
            return PartialView();
    
        }
    

    Note 还创建了一个部分视图,用于为选择列表创建所需的 HTML。

    @model Namespace.Models.Products
    
    
    <div class="form-group">
        <label asp-for="SubCategoryId" class="control-label"></label><span style="color:red"> *</span>
        <select asp-for="SubCategoryId" class="form-control" asp-items="ViewBag.SubCategoryId">
            <option value="">-</option>
        </select>
        <span asp-validation-for="SubCategoryId" class="text-danger"></span>
    </div>
    

    【讨论】:

    • 这对我有用。与此同时,我自己已经弄清楚了,但是你的答案要精简得多,所以我已经根据它修改了我的代码。谢谢。
    猜你喜欢
    • 2020-09-26
    • 1970-01-01
    • 1970-01-01
    • 2022-06-14
    • 1970-01-01
    • 2020-10-05
    • 1970-01-01
    • 2011-09-15
    • 2021-10-12
    相关资源
    最近更新 更多