html - 如何防止提交按钮在 ASP.NET MVC 中出现?
问题描述
例如,我正在使用 HTML、CSS 和 JS 在 MVC 中编写我自己的作品集,而我的网站是一页的,有(按顺序):主页、技能、项目、关于、联系方式,我必须滚动才能查看每个部分。问题是当我单击提交按钮(联系部分)时,页面刷新并从头开始,我必须再次向下滚动才能查看验证错误或模型是否成功提交。
这就是我所拥有的:
看法
<section class=" sect-container habilis">
<div class="container contac">
<h2><img src="~/Content/images/0QLAF5.png" /></h2>
<hr />
@using (Html.BeginForm())
{
// the rest of forms code
<button type="submit" class="btn btn-danger btn-md">Enviar</button>
}
</div>
</section>
控制器
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(Contact viewModel)
{
if (ModelState.IsValid)
{
_contact.Add(viewModel); // adds and saves model to database
TempData["Message"] = "¡Su formulario se ha enviado con éxito!";
}
return View(viewModel);
}
试过这个并且工作但没有用于检查错误或提交到数据库:
$(document).ready(function () {
$("form").submit(function (e) {
e.preventDefault();
});
});
解决方案
你可以这样使用
@using (Html.BeginForm("anotherAction", "anotherController", FormMethod.Post, new { id="frmRegister", @class = "form-horizontal", role = "form", target = "nulframe" }))
其次,您可以像这样在控制器端分开
[HttpPost]
public void Index(Contact viewModel)
{
if (ModelState.IsValid)
{
// to do :Save
return RedirectToAction("SuccesfullyRegistered","Account");
// here is redirect page
}
return View(viewModel);
}
此外,如果你使用jQuery
你可以处理当你点击提交按钮然后发送 ajax 请求另一个控制器另一个动作
我为这个问题写了一个例子,当我在 Home 控制器上发布操作时,我有 2 个控制器 Home 和 Demo,就像这样重定向到演示控制器
public ActionResult About()
{
ViewBag.Message = "Your application description page.";
return View();
}
[HttpPost]
public ActionResult About(string id)
{
if(id != "")
{
return RedirectToAction("Index", "Demo");
}
return View();
}
在关于页面
<form method="post" action="/Home/About">
<input type="text" placeholder="id" name="id" class="form-control "/>
<button class="btn btn-default">Send Post</button>
它对我有用
推荐阅读
- ssh - 为 SSH 和 SFTP 指定不同的根
- reactjs - 如何在 React.js 中解构这个 JSON 数据
- javascript - 依赖冲突笑话 27.0.4
- python - 将 dcc.Slider 连接到 Dash 中的 clientside_callback 以获取动画图
- sql - 如何让 Rails 5 与带有句点的主键很好地配合?
- selenium - 如何在节点中使用 selenium 设置 scraperapi 代理
- javascript - Javascript - 如何使用变量作为键检查数组的值
- google-tag-manager - 有没有办法跟踪在谷歌标签管理器上填写的任何表格?
- javascript - 如何在映射后映射另一个数组对象?
- php - 如何根据选择选项中的主键从数据库中获取某些数据?