我用控制器创建了一个简单的搜索引擎,该控制器的方法可以接受学生参数
这是我的剃刀页面代码
<form method="post">
<div class="row form-group text-center">
<div class="col-md-3">
<input placeholder="Город" class="form-control" asp-for="@Model.Profession" />
</div>
<div class="col-md-2">
<input placeholder="Город" class="form-control" asp-for="@Model.City" />
</div>
<div class="col-md-2">
<input placeholder="Курс" class="form-control mdl-textfield__input" asp-for="@Model.Course" />
</div>
<div class="col-md-2">
<input placeholder="Специализация" class="form-control" asp-for="@Model.Specialization" />
</div>
<div class="col-md-2">
<input type="submit" value="Поиск" class="btn btn-primary " />
</div>
</div>
</form>
这是UserModel
public List<Student> Students { get; set; }
public string Profession { get; set; }
public string City { get; set; }
public int Course { get; set; }
public string Specialization { get; set; }
我的控制器GET和POST
[Route("Index")]
[HttpGet]
public IActionResult Index()
[Route("Index")]
[HttpPost]
public IActionResult Index(UserModel model)
搜索后,我的溃败搜索/索引没有参数。如何创建诸如Search / Index / Profession = Coder / City = London / Course = 4 / Specialization = Code的溃败。我的路线是静态的,我无法返回或复制网址。但是我发现文档已过期
对不起,我的英语不好。
答案 0 :(得分:0)
下面是一个基本示例
[RoutePrefix("Search")] //place this routeprefix since "Search' is common
public class TestController: Controller
{
[Route("Index")] // "Search/Index" route for GET
[HttpGet]
public IActionResult Index()
[Route("Index")] // "Search/Index" route for POST
[HttpPost]
public IActionResult Index(UserModel model)
现在Search/Index/Profession=Coder/City=London/Course=4/Specialization=Code
。
首先,根据我的理解,应该如下。
请仔细检查。
Search/Index?Profession=Coder&City=London&Course=4&Specialization=Code
。
关于上述路线的说明。在Index
之后,它包含?
,这表明查询字符串在?
之后。此外,Profession=Coder
是一对查询字符串,后跟&
表示存在另一个查询字符串City=London
,接着是&
表示存在另一个查询字符串{ {1}},此后。
定义的路线如下
Course=4