ASP.NET MVC C# View下的cshtml 向Controller提交数据
时间: 2024-11-18 12:17:10 浏览: 29
在ASP.NET MVC中,当你在C#视图(View)下的.cshtml文件中向控制器(Controller)提交数据时,通常会涉及到HTML表单的提交。以下是基本步骤:
1. **创建表单**:
首先,在`.cshtml`文件中,创建一个HTML表单,给表单设置一个POST方法,并指定动作(Action)要传递到的控制器方法:
```html
<form asp-action="YourActionName" method="post">
<!-- 表单字段 -->
<input type="text" name="yourFieldName" />
<button type="submit">提交</button>
</form>
```
`asp-action`属性绑定到Controller里的一个处理POST请求的方法。
2. **绑定模型**:
如果你想将表单数据绑定到一个ViewModel,可以这样做:
```html
@model YourViewModel
// 然后在表单内引用ViewModel的属性
<input asp-for="@Model.YourField" />
```
3. **Controller处理**:
控制器中接收这个POST请求的方法(如`YourActionName`)需要通过`[HttpPost]`标注,并检查`ModelState`来验证数据。例如:
```csharp
[HttpPost]
public IActionResult YourActionName(YourViewModel viewModel)
{
if (ModelState.IsValid)
{
// 数据处理...
return RedirectToAction("Success");
}
else
{
// 模型验证失败,返回错误信息
return View(viewModel);
}
}
```
这里`viewModel`变量是从POST请求中自动绑定的。
阅读全文