【发布时间】:2020-04-27 12:02:10
【问题描述】:
我创建了一个联系表格。在此联系表格中,用户可以输入名字、姓氏、电话号码等数据。用户提交表单后,我执行服务器端验证。如果验证成功和不成功,我想将用户重定向回相同的视图。这没有问题。但是视图的滚动位置又在顶部。但是表格在最底部。用户应该直接再次显示表单。换句话说:我想将相同的视图返回给用户,但保持滚动位置。如何在 ASP.NET MVC 5 中实现这一点?
我的服务器端代码如下所示:
public ActionResult Contact(ServiceModel model)
{
if (ModelState.IsValid)
{
ViewBag.SuccessMessage = " succeeded";
return View("Index");
}
else
{
if (!this.IsCaptchaValid(""))
{
ViewBag.ErrorMessage = "Error. Try again.";
}
return View("Index", model);
}
}
谢谢。
【问题讨论】:
-
不错。对我来说很好。但是我也可以以某种方式在 RedirectResult 函数中传递模型吗?因为我需要进行验证。如果验证出错,我需要模型发布验证错误消息。
-
那么使用常规的
return View("Index", model)和this SO answer 可能是最简单的,这需要向ViewBag添加一个属性并从JS 中引用它。
标签: c# asp.net-mvc contact-form