【发布时间】:2021-02-16 12:21:43
【问题描述】:
在我的练习中,我在控制器中有这样的代码
public IActionResult Index(int catId = 0)
{
IEnumerable<Product> products;
if (catId != 0)
{
products = _categoryRepository.GetCategoryByIdWithProducts(catId).Products;
}
else
products = _productRepository.GetAllProducts();
ViewData["SelectList"] = GetCategoriesSelectList();
return View(products);
}
以及 View 中的此类代码
<div class="form-group">
<label for="categoryId">Filter by category</label>
<select id="catId" name="catId" asp-items="@(ViewData["SelectList"] as SelectList)" class="form-control">
<option value="">-- all categories --</option>
</select>
</div>
<button type="submit" class="btn btn-secondary ml-1">Submit</button>
而且我真的不明白视图中的这个标签 id="catId" name="catId" 和控制器 Index(int catId = 0) 是如何相互匹配的。
如果我删除 id="catId" 提交按钮有效,如果我删除 name="catId" 则无效。
mvc 看起来或参数和名称是否匹配或它是如何工作的?
亲切的问候,伊利亚
【问题讨论】:
标签: .net asp.net-core model-view-controller