javascript - Asp.net MVC ajax 在模态中提交表单
问题描述
我正在尝试在模式中使用 ajax 提交表单。到目前为止,我最接近完成这项工作的是:
@model AppStudio.Data.ViewModels.RolesDetailsViewModel
@section scripts{
@Scripts.Render("~/bundles/jquery.unobtrusive-ajax")
}
<div id="roleDetails" class="modal">
<div class="col-sm-12">
@if (Model.Id == null)
{
<h2>Add Role</h2>
}
else
{
<h2>Edit Role</h2>
}
<hr />
</div>
@using (Ajax.BeginForm("SaveRole", new AjaxOptions() {
InsertionMode = InsertionMode.Replace
}))
{
@Html.AntiForgeryToken()
<div class="col-sm-12">
<div class="form-group">
@Html.HiddenFor(m => m.Id)
@Html.HiddenFor(m => m.ApplicationId)
</div>
<div class="form-group">
@Html.LabelFor(m => m.RoleName)
@Html.TextBoxFor(m => m.RoleName, new { @class = "form-control col-sm-12" })
@Html.ValidationMessageFor(m => m.RoleName)
</div>
<div class="form-group">
<div class="clearfix">
<button type="submit" class="btn btn-primary pull-right">Save</button>
<a href="#" class="btn btn-default pull-right" rel="modal:close">Cancel</a>
</div>
</div>
</div>
}
</div>
但是,当我提交此内容时,它会将我重定向到包含我输入的新页面
然后我尝试删除 ajax.beginform 并将其替换为 beginform 并将我的提交按钮更改为这样的 href 链接:
<a href="#" id="save" class="btn btn-primary pull-right">Save</a>
我还在上面添加了这个脚本:
<script>
$(document).ready(function (e) {
$("#save").click(function () {
alert("test");
});
});
</script>
但是,这会导致 url 仅添加了一个 # 。有没有办法在模式中做 ajax 提交?我试着四处寻找,但到目前为止还没有找到太多。
解决方案
推荐阅读
- php - 如何在我的 php 代码中加密 md5 的密码
- ios - 当我弹出控制器时,我得到黑屏?
- c# - 如何在ASP.Net 的CrystalReportViewer_init 函数中使用QueryString 获取参数值?
- android - 无法读写parcelable中的double列表
- javascript - 如何在图片上传中更改 XmlHttpRequest url
- javascript - 我的 javascript 没有执行
- javascript - 从 JavaScript 中的 JSON 数据创建饼图
- java - 如何使用@Step Annotation 在 Allure Report 中打印长字符串?
- python - 在 python 3 中重用 zip 迭代器
- xml - 如何在 databricks.xml scala 中保存 XML 数据