在ASP.NET Core中,可以使用[Bind(Prefix = "prefix")]
属性来强制复杂类型前缀。下面是一个示例代码:
public class HomeController : Controller
{
// GET: /Home/Index
public IActionResult Index()
{
return View();
}
// POST: /Home/Create
[HttpPost]
public IActionResult Create([Bind(Prefix = "person")]PersonViewModel person)
{
// 使用person对象进行处理
// ...
return RedirectToAction("Index");
}
}
public class PersonViewModel
{
public string Name { get; set; }
public int Age { get; set; }
}
在这个例子中,Create
方法使用了[Bind(Prefix = "person")]
属性来指定前缀为“person”。这意味着在提交表单数据时,只有以“person”为前缀的字段才会绑定到PersonViewModel
对象的属性上。
在前端视图中,可以使用类似以下的表单代码来生成以“person”为前缀的字段名:
这样,当表单提交时,只有以“person”为前缀的字段才会与PersonViewModel
对象的属性进行绑定。其他不带前缀的字段将被忽略。