如何将值从视图传递到MVC ASP .NET中的另一个控制器

时间:2018-06-29 08:55:27

标签: javascript jquery asp.net asp.net-mvc model-view-controller

我想将View中的下拉列表的选定索引传递给另一个控制器。 我使用Java脚本获取dropdaownlist的索引。我得到了索引。

但是我想在单击按钮时将该索引传递给另一个控制器。

我该怎么做?

这是我的Java脚本摘要

  $('#btnsubmit').click(function () {

        var deviceid = $('#ddldevice option:selected').val();

        $.ajax({
            type: 'GET',
            data: { deviceid: deviceid },
            url: '@Url.Action("ViewSensorTable","Home")',
            success: function (result) {


            }

        });

我的按钮代码

 <input type="submit" id="btnsubmit" value="Next" class="btn btn-primary btn-sm" />

这是我想要索引值的控制器

 public ActionResult ViewSensorTable(int id)
 {
     return View();
 }

已编辑

$('#btnsubmit').click(function () {

    var deviceid = $('#ddldevice option:selected').val();

    $.ajax({
        type: 'GET',
        data: { id: deviceid },
        url: '@Url.Action("ViewSensorTable","Home")',
        success: function (result) {


        }

    });

2 个答案:

答案 0 :(得分:1)

您需要在ajax请求中传递 deviceid 。此外,“操作方法”中的参数名称应与您使用ajax发送的参数匹配。尝试以下代码:

查看

    <input type="submit" id="btnsubmit" value="Next" class="btn btn-primary btn-sm" />

    $('#btnsubmit').click(function () {

        var deviceid = $('#ddldevice option:selected').val();
        alert(deviceid);  //Comment it after testing

        $.ajax({
            type: 'GET',
            data: { id: deviceid },
            dataType: "json",
            url: '@Url.Action("ViewSensorTable","Home")',
            success: function (result) {
               //do something with the result
            }
        });
}

控制器

[HttpGet]
public ActionResult ViewSensorTable(int id)
 {
     return View();
 }

答案 1 :(得分:0)

尝试将您的网址替换为

url: '@Url.Action("ViewSensorTable","Home")' + '/' + deviceid,

或者如果您的操作是[HTTPPost],则需要进行更改,

type: 'POST',