一个封装较好的删除方法(Delete)
前台的引用 @Html.ActionLink(“删除字样”,“后台的删除方法”,new{绑定id},new{@style="样式"});方法,如何要独立使用的话,一般还要使用到相应的js方法:
<ul>
@{
foreach (var item in Model)
{
string url = item.FUrl;
<li>
<div style="float: left;position:relative; width:100%">
<div style="float: left; position:relative;">
<span style="vertical-align:middle; ">
<!-- 【2item.FClassifiedId】 -->
【@item.UserFavoTopic.FName】 @*@Html.ActionLink(
item.FTitle.Length > ? item.FTitle.Substring(, ) + "……" : item.FTitle,
"List", @item.FUrl,
new { articleId = item.FId },
new { @title = item.FTitle.Length > ? item.FTitle : "", @target = "_blank" })*@
<a href="@url" target="_blank"> @item.FTitle</a>
</span>
</div>
<div style="text-align: right; vertical-align:middle; float:right ">
@* @Html.ActionLink("编辑", "Edit", new { id = item.FId}, new { @style = "vertical-align: middle",@class="edit" })*@
@* 【@p.UserFavoTopic.FName】<a href='@p.FUrl.Trim()'target="_blank"> @p.FTitle</a>*@
<a href="#" class="edit">编辑分类</a> <!--树状目录 2Html.LabelFor(m => Model.FOuthClassifiedId) -->
@Html.ActionLink("删除", "Delete", new { id = item.FId }, new { @style = "vertical-align: middle" })
</div>
</div> </li>
}
}
</ul>
相应的js方法:(作用:根据相应的路径找到相应的方法)
<script type="text/javascript">
function ajaxRequest(params) {
var randnum = Math.random();
var ajaxurl = params.url;
var ifasync = params.ifasyncinre;
if (ifasync != true || ifasync != false) {
ifasync = false;
}
var re = null;
var method = params.method;
if (method == null || method == "")
method = "POST";
var data = params.data;
if (data == null || data == "")
data = "";
var datatype = params.datatype;
if (datatype == null || datatype == "")
datatype = "json";
$.ajax({
type: method,
url: ajaxurl,
async: ifasync,
data: data,
dataType: datatype,
success: function (result) {
re = result;
}
});
return re;
}
$(".delete").live("click", function () {
if (confirm("您确定要删除吗") == false) {
return false;
}
debugger;
var Fid = $(this).attr("Fid");
//删除方法的控制器;
var params = { url: '/Personal/Space/Favorite/Delete',
data: { id: Fid }
};
var result = ajaxRequest(params);
if (result.Data == "") {
// 当前页
location.href("/Personal/Space/Favorite/Index");
}
else if (result.Data == "") {
alert(result.Message);
} else {
alert(result.Message);
}
})
</script>
后台的删除方法和默认的页面:(前台的js,调用相应的后台的删除方法和返回重定向页面)
[HttpGet]
[SupportFilter]
public ActionResult Delete(string id)
{
if (id != null)
{
if (ufb.Delete(id))
{
return RedirectToAction("Index");
//因为是同一页面(当前页),所以重定向时,可以直接定义 为:“Index”,无需添加其他路径。
//return Json(new TipMessage { IsError = false, Message = "删除成功", Data = 1 }, JsonRequestBehavior.AllowGet); }
else
{ //return Json(new TipMessage { IsError = false, Message = "删除失败", Data = 0 }, JsonRequestBehavior.AllowGet); //安全起见,可以在这里进行一个异常捕获。
}
} return RedirectToAction("Index");
}
主页:(后台)
[HttpGet]
[SupportFilter]
public ActionResult Index(string id,int page=,int pageSize=) //UserFavorite model , UserFavoTopic model2
{
//获资收藏信息
List<UserFavorite> list = (from d in db.UserFavorite select d).ToList();
List<UserFavoTopic> list2 = (from f in db.UserFavoTopic select f).ToList(); // 绑定收藏类型
//获得一级分类FName //获取二级分类FNmee UserFavorite uf = db.UserFavorite.Where(
c => c.FUrl == id).FirstOrDefault<UserFavorite>(); //数据的绑定吧FID绑定到id上面的获取表数据(UserFavorite)的第一手资料
//下一步:将集合数据传给视图
ViewBag.DataList = list;// 这是第一种传值法,用ViewBag
ViewBag.DataList2 = list2;
// model.FFavorId = model2.FId;
//model.FFavorId
//IEnumerable<UserFavorite> list = ufb.FindALL();
// List<UserFavoTopic> uft = uftb.FindALL().ToList();
var pageList = list.Skip((page - ) * pageSize).Take(pageSize).ToList();
var pageList2 = new PagedList<UserFavorite>(pageList, page, pageSize, pageList.Count()); return View(pageList2); //return View(uf);
}
附加:(分页功能:-------------------------------)
<div style="float:left; position:relative; width:70%">
<div id="divData">
@{
//把 _ListByTable2 页面嵌套在当前页面, 在 _ListByTable2.cshtml页面中已经获得数据库中的表数据。
Html.RenderPartial("_ListByTable2", Model, this.ViewData);
}
</div>
//具体的分页显示
<div class="pageBottom clear_box snPages">
<div class="pagel">
@Html.PageSizeHtml()
共找到 <strong class="col_r">@Model.TotalItemCount </strong>条数据
</div>
<div class="pager">
@Html.Pager(Model, new PagerOptions { NumericPagerItemCount = , ShowMorePagerItems = true, ShowFirstLast = false, PageIndexParameterName = "page", CurrentPagerItemWrapperFormatString = "<span class=\"cpb\">{0}</span>", NumericPagerItemWrapperFormatString = "<span class=\"item\">{0}</span>", AlwaysShowFirstLastPageNumber = true }, "PersonalSpace_default", null)
</div>
<div class="clear">
</div>
</div>
</div>
一个封装较好的删除方法(Delete)的更多相关文章
- javascaipt中数组元素删除方法delete和splice
一.用delete 删除数组中元素(少用) 说明:delete: 只是被删除的元素变成了 undefined ,即数组长度不变 //定义数组 var array=["aa",&qu ...
- 数组练习:各种数组方法的使用&&事件练习:封装兼容性添加、删除事件的函数&&星级评分系统
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JavaScript封装一个函数效果类似内置方法concat()
JavaScript封装一个函数效果类似内置方法concat() 首先回忆concat()的作用: concat() 方法用于连接两个或多个数组.该方法不会改变现有的数组,而仅仅会返回被连接数组的一个 ...
- Oracle之外键(Foreign Key)使用方法具体解释(二)- 级联删除(DELETE CASCADE)
Oracle外键(Foreign Key)之级联删除(DELETE CASCADE) 目标 演示样例解说怎样在Oracle外键中使用级联删除 什么是级联删除(DELETE CASCADE)? 级联删除 ...
- Windows服务的手动添加和删除方法
Windows服务的手动添加和删除方法 服务,是指执行指定系统功能的程序.例程或进程,以便支持其他程序,尤其是低层(接近硬件)程序.其实,服务就是一种特殊的应用程序,它从服务启动开始就一直处于运行状态 ...
- ContentProvider官方教程(9)定义一个provider完整示例:实现方法,定义权限等
Creating a Content Provider In this document Designing Data Storage Designing Content URIs Implement ...
- 封装JDBC操作数据库的方法
自己动手封装java操作数据库的方法: 一:目录结构 二:所需依赖的第三方jar包 这里只需引入mysql-connector-java-5.1.8-bin.jar,mysql数据库驱动jar包 三: ...
- hibernate--session的CRUD方法, delete, load,get,update,saveorupdate, clear, flush
删除方法: 新建的对象立马被删除 @Test public void testDelete() { Teacher t = new Teacher(); t.setName("t1" ...
- MySQL行(记录)的详细操作一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理
MySQL行(记录)的详细操作 阅读目录 一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理 一 介绍 MySQL数据操作: ...
随机推荐
- CGRectGet系列
CGRectGetHeight返回label本身的高度 CGRectGetMinY返回label顶部的坐标 CGRectGetMaxY 返回label底部的坐标 CGRectGetMinX 返回lab ...
- postgresql 热备与恢复
一. PostgreSQL热备份的过程一般为: 数据库中执行:pg_start_backup() ; 然后使用操作系统的tar或 cp命令拷贝 PostgreSQL数据文件. 数据库中执行:pg_st ...
- 加载 pcntl 多进程
加载 pcntl 有两种方式 一种重新编译安装,在编译时加 --enable-pcntl ./configure --prefix=/usr/local/php --with-mysql=/usr/l ...
- [算法]判断一个数是不是2的N次方
如果一个数是2^n,说明这个二进制里面只有一个1.除了1. a = (10000)b a-1 = (01111)b a&(a-1) = 0. 如果一个数不是2^n, 说明它的二进制里含有多一 ...
- Oracle 11gR2中启动Scott用户的方法
Oracle 中启动 Scott 用户 的方法 , 在 Oracle11gR2, (g 代表‘网络’的意思) 数据库中 Scott 这个用户 安装时是被锁定的,安装 Oracle的时候 ,你可以直接选 ...
- Ibatis的简单介绍
定义: 相对Hibernate和Apache OJB 等“一站式”ORM解决方案而言,ibatis 是一种“半自动化”的ORM实现.以前ORM的框架(hibernate,ojb)的局限: 1. 系统的 ...
- Unity-Animator深入系列---状态机面板深入
回到 Animator深入系列总目录 本篇不讲解所有的面板功能,只是针对一些非常用功能进行介绍. 1.状态 1.1状态简介 简单的不做介绍了,需要特别注意: 1.Paramter勾选后可以指定参数控制 ...
- SharePoint自动化系列——Add content type to list.
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 将创建好的content type(若是跨web application需要事先publish c ...
- [转]VS2010几款超赞的扩展辅助工具总结
前言 前两天刚把公司电脑系统和开发环境的重新安装http://www.cnblogs.com/aehyok/p/3603149.html, 主要是由于公司电脑配置稍微低了一些,运行.调试太慢,又因为要 ...
- C#中另类自定义公式计算 字符串转换为计算公式,并得出计算结果
[csharp] view plain copy print? //方法一 利用DataTable中的Compute方法 例如:1*2-(4/1)+2*4=6 , , , ); DataTable d ...