首页 > 解决方案 > 通过 unobtrusive-ajax form.net core 传递参数

问题描述

我有这个表格

  <form method="post" data-ajax="true" data-ajax-method="post" asp-action="Requests" asp- 
    controller="Home">

   <select id="Records" class="form-control col-lg-12"> <option value="0" selected>--Choose-- 
   </option> 
   <option value="1">All records</option>
   <option value="2">Per User</option> </select> 
   <input type="submit" value="Go" class="btn btn-success"/> 
   </form>

我需要将选定的值传递给控制器​​,然后进行一些检查,然后重新加载我的数据。如何将值 1 或 2 传递给控制器​​?任何想法?谢谢你

标签: asp.netajaxasp.net-core

解决方案


您应该name向 select 元素添加一个属性。比如name="records"下面

<form method="post" data-ajax="true" data-ajax-method="post" asp-action="Requests" asp-
      controller="Home">

    <select id="Records" name="records" class="form-control col-lg-12">
        <option value="0" selected>
            --Choose--
        </option>
        <option value="1">All records</option>
        <option value="2">Per User</option>
    </select>
    <input type="submit" value="Go" class="btn btn-success" />
</form>

并且控制器应该接受同名的参数。

public IActionResult Requests(int records)
{

    return View();
}

结果:

在此处输入图像描述


推荐阅读