我无法配置路线

时间:2019-03-26 22:54:14

标签: asp.net-mvc routes

我用控制器创建了一个简单的搜索引擎,该控制器的方法可以接受学生参数

这是我的剃刀页面代码

<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的溃败。我的路线是静态的,我无法返回或复制网址。但是我发现文档已过期

对不起,我的英语不好。

1 个答案:

答案 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