【问题标题】:Dropdown selection change to update database in ASP.NET MVC下拉选择更改以更新 ASP.NET MVC 中的数据库
【发布时间】:2019-08-16 18:12:30
【问题描述】:

我正在尝试使用表格在视图中填充模型列表。其中一个字段是下拉列表。

当下拉选择改变时,选择的值和模型 id(或具有更新下拉值的整个模型)必须传递给更新数据库的控制器。

在几个链接的帮助下,我尝试使用 jQuery 传输数据(ASP.NET MVC 和 jQuery 的学习和新手)

<script src="~/Scripts/jquery-3.3.1.min.js"></script>
    <script src="~/Scripts/jquery-ui-1.12.1.min.js"></script>
        <script type="text/javascript">
        $("body").on("change", "#ddlFruits", function () {
            $("#hfFruitName").val($(this).find("option:selected").text() + ":" + document.getElementById("hfFruitName").value);
            document.forms["Form1"].submit();
        });
        </script>

是一个 jQuery

@using (Html.BeginForm("Submit", "Initiative", FormMethod.Post, new { @name = "Form1" }))
{
    @Html.DropDownList("Fruits", new SelectListItem[]{
                            new SelectListItem() {Text = "Good work", Value="Good work"},
                            new SelectListItem() {Text = "Wow", Value="Wow"},
                            new SelectListItem() {Text = "Keep it up", Value="Keep it up"}}, "Select a Remark", new { @id = "ddlFruits" })
                    @Html.HiddenFor(model => item.Id,  new { @id = "hfFruitName"})
    }

它正在显示下拉菜单,但我们选择的任何下拉菜单都只会更新 第一行或数据。

如果我选择第 10 行的第 10 行值的下拉列表并且传递了 id 或第 1 行

示例链接 https://drive.google.com/file/d/1q3BCOhTPRkllIiq4NnW9Gd1kgtySqJTo/view?usp=sharing

【问题讨论】:

  • 这个问题好像已经翻译了,可能没有明确说明问题。请重写此问题以清楚地表达您的意图。
  • 以上是我试过的样本。检查提交操作中的输出,其中 formcollection 收到选定的行下拉文本和值为 1;

标签: jquery asp.net-mvc


【解决方案1】:

这有点猜测,但我认为你的路线

 @Html.HiddenFor(model => item.Id,  new { @id = "hfFruitName"})

是问题所在。

试试改成

<input type="hidden" id="hfFruitName" name="id" value="@item.Id">

【讨论】:

  • 戴夫,它不工作,我已经为 IYW 共享了一个示例应用程序,请帮助解决方案
猜你喜欢
  • 2020-01-23
  • 1970-01-01
  • 2021-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多