在ASP.NET MVC中,可以通过Get方式发送数据(表单),并在同一个视图中返回成功信息。以下是一个示例解决方法的代码:
首先,在控制器中创建两个方法,一个用于显示视图,另一个用于处理表单提交:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpGet]
public ActionResult SubmitForm()
{
return View();
}
[HttpPost]
public ActionResult SubmitForm(string data)
{
// 处理表单数据逻辑
ViewBag.SuccessMessage = "数据提交成功!";
return View();
}
}
接下来,创建两个视图,一个用于显示表单,另一个用于显示成功信息:
Index.cshtml:
@{
ViewBag.Title = "Home Page";
}
Home Page
提交数据
SubmitForm.cshtml:
@{
ViewBag.Title = "Submit Form";
}
Submit Form
@using (Html.BeginForm("SubmitForm", "Home", FormMethod.Post))
{
@Html.Label("data", "数据")
@Html.TextBox("data")
}
@if (!string.IsNullOrEmpty(ViewBag.SuccessMessage))
{
@ViewBag.SuccessMessage
}
在上面的代码中,Index视图显示一个链接,点击链接会跳转到SubmitForm视图,然后在SubmitForm视图中通过表单提交数据。在处理表单提交的方法中,设置了一个ViewBag变量来存储成功信息,在视图中通过判断ViewBag变量是否为空来显示成功信息。
运行代码后,访问首页,点击链接跳转到SubmitForm视图,填写表单并提交后,成功信息会显示在同一个视图中。