簡體   English   中英

如何通過視圖中的javascript將選定的下拉項作為參數傳遞來調用發布動作響應

[英]How do I call a post actionresponse passing the selected dropdown item as a parameter from javascript within a view

我如何調用后動作響應,將選定的下拉項作為參數從asp.net,razor,mvc內的視圖中的javascript中傳遞

基本上,正如我確定您可以從下面的代碼中看出來的那樣,我正在嘗試完成上述工作,但沒有取得太大的成功。 我應該怎樣改變才能成功? 謝謝

<script type="text/javascript">
$(function() {
    $("#mydropdown").change(function() {
        var selectedItem = $(this).val();
        $.ajax({
            url: '@Url.Action("DoStuff", "MainController")',
            type: "Post",
            data: { name: selectedItem },
            success: function () {
                alert('success');
            }
        });

    });
});

    [HttpPost]
    public ActionResult DoStuff(String Selecteditem)
    {
        CIModel CIModellList = CILHelper.ImportFunc(Selecteditem);
        return View(CIModellList);
    }

截至目前,下拉列表沒有任何變化。 雖然如果我刪除了ajax函數,並用警報替換它。 然后,在這種情況下會出現警報。

在這一點上,即使結果和控制器都按指定的方式命名,動作結果和控制器也似乎都在項目中不存在(紅色)。

C#似乎建議操作或控制器都不存在,給出錯誤“無法解決操作”或“無法解決控制器”

<html>
<head>
    <meta charset="utf-8">

    <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
    <script src="//code.jquery.com/jquery-1.9.1.js"></script>
    <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>

</head>
<body>

    <select id="mydropdown">
        <option  value="a">a</option>
        <option  value="b">b</option>
        <option  value="c">c</option>
        <option  value="d">d</option>
    </select>



        <script type="text/javascript">
      $(function() {
          $("#mydropdown").change(function() {
              var selectedItem = $(this).val();
              $.ajax({
                  url: '@Url.Action("DoStuff", "MainController")',
                  type: "Post",
                  data: { name: selectedItem },
                  success: function () {
                      alert('success');
                  }
              });

          });
      });
    </script>

</body>
</html>






    [HttpPost]
    public ActionResult DoStuff(string name)
    {
    CIModel CIModellList = CILHelper.ImportFunc(name);
    return View(CIModellList);
    }

您必須先將參數名稱更改為SelectedItem,以使其與您的操作方法的參數匹配,並對json數據進行字符串化,然后再傳遞,

JSON.stringify({ SelectedItem :selectedItem })

請參閱作為參考。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM