为了账号安全,请及时绑定邮箱和手机立即绑定

在剃须刀中向表单添加参数

在剃须刀中向表单添加参数

C#
胡说叔叔 2021-05-12 09:22:15
我认为此表格会导致我在控制器中执行某些操作。问题是我不知道如何将参数传递给action方法。<form class="full-search" asp-controller="Movies" asp-action="Search">    <input type="search" name="searchmovie" placeholder="Search..." class="search-form">    <select name="option" form="">        <option name="option" value="category1">category 1</option>        <option name="option" value="category2">category 2</option>        <option name="option" value="category3">category 3</option>    </select>    <i class="fas fa-caret-down"></i>    <input type="submit" name="" class="submit-full-search">    <div class="search-btn-submit">        <img src="~/img/search.svg">    </div></form>这是我的控制器:[HttpGet("searchmoview/{option?}/{searchmovie}")]public  IActionResult Search(string option, string searchmovie){    //perform some search based on the filters    return View("Search", data);}但是当我运行我的代码时,当我单击搜索时,URL看起来像这样:https://localhost:33590/Information/Search而不是像这样:https://localhost:44320/seachmovie/category1/{searchString}关于如何传递参数的任何想法吗?
查看完整描述

2 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

你不能 事情不是这样的。默认情况下,表单将发送POST请求,在这种情况下,表单中的输入将作为请求正文的一部分(即不是URL)发送。您可以将方法设置为GET,但是输入值将作为查询字符串的一部分(即?foo=bar)发送,而不是您要查找的路径的一部分发送。

远程实现所需目标的唯一方法是使用JavaScript根据类别选择框的更改来操纵表单的动作。您将绑定到该change元素的事件,然后action以某种方式更改表单元素的属性。


查看完整回答
反对 回复 2021-05-23
  • 2 回答
  • 0 关注
  • 148 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信