表中多个按钮进行操作不需要跳转页面的实现
2016-06-27 12:08
393 查看
有一个通用的需求,就是在一张表格中对一条记录进行多种操作,计划采取ajax异步方式的操纵数据库。
主视图:
<td>
<div class="btn-group btn-group-sm">
<a href="@Url.Action("DetailsAdmin", "ApplicationProject", new { id = item.ApplicationProjectID })" class="btn btn-primary" role="button">查看项目内容</a>
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
<span class="sr-only" >切换下拉菜单</span>
</button>
<ul class="dropdown-menu" role="menu">
<li> <a href="@Url.Action("EditAdmin", "ApplicationProject", new { id = item.ApplicationProjectID })">编辑</a></li>
<li> <a href="javascript:deleteApplicationProject('@item.ApplicationProjectID')">删除</a></li>
<li> <a href="javascript:updateApplicationProject('@item.ApplicationProjectID','submitSingle')">提交</a></li>
<li> <a href="javascript:updateApplicationProject('@item.ApplicationProjectID','submitNotSingle')">取消提交</a></li>
<li> <a href="javascript:updateApplicationProject('@item.ApplicationProjectID','checkPassSingle')">初审通过</a></li>
<li> <a href="javascript:updateApplicationProject('@item.ApplicationProjectID','checkNotPassSingle')">初审不通过</a></li>
</ul>
</div>
</td>
@* 建立一个隐藏表单,可以响应多个不同的操作,提交到不同的控制器*@
<form id="applicationProjectForm" method="post"><input type="hidden" name="id" id="applicationProjectId" /></form>
2、脚本文件
<script type="text/javascript"> @* 定义一个cshtml文件比单独定义一个js文件更加有用。居然在js里面还可以使用url、html辅助方法。*@
// _reviewProjectID = $("reviewProjectID").val();
function updateApplicationProject(id, action,reviewProjectId) {
$("#applicationProjectId").val(id);
var choice = confirm("你确认进行进行操作吗?");
if (choice == true)
{
switch (action) {
case 'submitSingle':
$("#applicationProjectForm").attr('action', '@Url.Action("MakeASubmit")').submit();
break;
case 'submitNotSingle':
$("#applicationProjectForm").attr('action', '@Url.Action("MakeANotSubmit")').submit();
break;
case 'checkPassSingle':
$("#applicationProjectForm").attr('action', '@Url.Action("MakeAPassCheck")').submit();
break;
case 'checkNotPassSingle':
$("#applicationProjectForm").attr('action', '@Url.Action("MakeANotPassCheck")').submit();
break;
default:
console.debug('Unknown action ' + action); //写给浏览器调试用的,按F12键会在浏览器 控制台窗口显示信息。
}
}
}
主视图:
<td>
<div class="btn-group btn-group-sm">
<a href="@Url.Action("DetailsAdmin", "ApplicationProject", new { id = item.ApplicationProjectID })" class="btn btn-primary" role="button">查看项目内容</a>
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
<span class="sr-only" >切换下拉菜单</span>
</button>
<ul class="dropdown-menu" role="menu">
<li> <a href="@Url.Action("EditAdmin", "ApplicationProject", new { id = item.ApplicationProjectID })">编辑</a></li>
<li> <a href="javascript:deleteApplicationProject('@item.ApplicationProjectID')">删除</a></li>
<li> <a href="javascript:updateApplicationProject('@item.ApplicationProjectID','submitSingle')">提交</a></li>
<li> <a href="javascript:updateApplicationProject('@item.ApplicationProjectID','submitNotSingle')">取消提交</a></li>
<li> <a href="javascript:updateApplicationProject('@item.ApplicationProjectID','checkPassSingle')">初审通过</a></li>
<li> <a href="javascript:updateApplicationProject('@item.ApplicationProjectID','checkNotPassSingle')">初审不通过</a></li>
</ul>
</div>
</td>
@* 建立一个隐藏表单,可以响应多个不同的操作,提交到不同的控制器*@
<form id="applicationProjectForm" method="post"><input type="hidden" name="id" id="applicationProjectId" /></form>
2、脚本文件
<script type="text/javascript"> @* 定义一个cshtml文件比单独定义一个js文件更加有用。居然在js里面还可以使用url、html辅助方法。*@
// _reviewProjectID = $("reviewProjectID").val();
function updateApplicationProject(id, action,reviewProjectId) {
$("#applicationProjectId").val(id);
var choice = confirm("你确认进行进行操作吗?");
if (choice == true)
{
switch (action) {
case 'submitSingle':
$("#applicationProjectForm").attr('action', '@Url.Action("MakeASubmit")').submit();
break;
case 'submitNotSingle':
$("#applicationProjectForm").attr('action', '@Url.Action("MakeANotSubmit")').submit();
break;
case 'checkPassSingle':
$("#applicationProjectForm").attr('action', '@Url.Action("MakeAPassCheck")').submit();
break;
case 'checkNotPassSingle':
$("#applicationProjectForm").attr('action', '@Url.Action("MakeANotPassCheck")').submit();
break;
default:
console.debug('Unknown action ' + action); //写给浏览器调试用的,按F12键会在浏览器 控制台窗口显示信息。
}
}
}
相关文章推荐
- 常用参考资料及网站
- 浅谈网站访问速度优化
- 我最喜欢的网络小说
- javascript self = this
- Mybatis自动创建表和更新表结构
- csharp: Domain-Driven Design(领域驱动设计)
- canvas绘制简易百分比圆饼效果
- Memblaze发布企业级数据存储管理系统FlashRAID——从NVMe SSD出发,全面进击软件定义存储
- Docker本地搭建master-slave redis
- asp.net及javascript判断是否手机访问的方法
- 单片机编程开发技巧
- mybatis的查询缓冲
- 单片机编程开发技巧
- 单片机编程开发技巧
- Linux下redis的安装
- 关于代码修改xib中视图的大小
- Unable to install "项目名" The certificate used to sign "项目名" has either expired or has been
- php设计模式-策略模式
- Struts2学习(八)—文件上传和下载
- SGA(系统全局区)