【问题标题】:How to send a selected DropDownList item ID To ActionMethod如何将选定的 DropDownList 项目 ID 发送到 ActionMethod
【发布时间】:2016-02-27 18:37:31
【问题描述】:

我想将 DropDownList 中所选项目的 id 发送到 ActionMethod .... 当我尝试此代码并选择我想要的项目然后单击提交时,我没有得到任何结果..

我的虚拟机获取项目列表:

 vm.Group = new SelectList(db.Groups.Where(p => p.User_Id == user_id && p.state==1), "Group_id", "Group_name");

我的看法:

@Html.DropDownList("group_list", Model.Group, null, htmlAttributes: new { @class = "form-control" })
<button type="button" data-id="@Model.Book.Book_id" class="BGButton btn btn-primary">Save changes</button>

我的 JS 调用:

$('.BGButton').click(function () {

    var myId = $(this).data('id');

    $.ajax({
        type: "GET",
        url: '@Url.Action("Insert", "Group")?Book_id=' + myId+"&Group_id="+@Model.Group,
        success: function (response) {
            $('#myElem').html(response).fadeIn('slow');
            $('#myElem').delay(8000).fadeOut('slow');
        },
        failure: function (response) {

            alert("Failure");
        }
    });
});

我正在尝试访问/向其发送数据的操作:

public ActionResult Insert(int? Book_id , string group_list)
    {

                var x = User.Identity.GetUserId();
                GroupBook GrpBook = new GroupBook()
                    {
                        Book_Id = (int)Book_id,
                        User_Id = x.ToString(),
                        Group_id=Convert.ToInt16(group_list)

                };
                    db.GroupBooks.Add(GrpBook);

    }

当我尝试之前的代码时,我没有得到任何结果(没有调用),我该如何解决这个问题并让它工作,谢谢......

【问题讨论】:

  • 在您的浏览器开发者控制台中检查是否有任何错误。如果有任何错误,请告诉我们。我们可以提供帮助
  • 你好,其实直到现在我都没有问题,因为问题似乎在 Js call Method .. 因为当我试图只获取 book id 并且在我手动添加的 action 方法中 group_id = 1 它是工作并将数据添加到 db 和 js 是这样的 (url: '@Url.Action("Insert", "Group")?Book_id=' + myId) 但是当我尝试从下拉列表中发送 group_id 时js 到我没有结果或错误的操作...
  • 好的,顺便说一句,我不明白按钮中data-id="@Model.Book.Book_id" 的用途是什么

标签: asp.net asp.net-mvc asp.net-mvc-4 razor


【解决方案1】:

点击按钮试试这个

$('.BGButton').click(function() {

  var myId = $(this).data('id');
  var groupId = $('#Group_id').val();//assuming Group_id is your dropdown id

      $.ajax({
        type: "GET",
        url: '@Url.Action("Insert", "Group")?Book_id=' + myId + "&Group_id=" + groupId,
        success: function(response) {
          $('#myElem').html(response).fadeIn('slow');
          $('#myElem').delay(8000).fadeOut('slow');
        },
        failure: function(response) {

          alert("Failure");
        }
      });
    });

【讨论】:

  • 在浏览器中检查您的下拉标记。它是否显示值?下拉列表的 id 是什么?
  • 是的,它是显示项目集:​​
  • 知道了.. 在你的操作方法参数名称是string group_list 将其更改为string Group_id
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-21
  • 1970-01-01
  • 2016-01-25
  • 2011-10-31
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多