ASP.WEB Form 几点知识

1、GridView 行的多选

<asp:TemplateField ControlStyle-Width="30" HeaderText="选择"    >
                                <ItemTemplate>
                                    <asp:CheckBox ID="DeleteThis" onclick="javascript:CCA(this);" runat="server" />
                                </ItemTemplate>
                            </asp:TemplateField>        

private string GetSelIDlist()
        {
            string idlist = "";
            bool BxsChkd = false;
            for (int i = 0; i < gridView.Rows.Count; i++)
            {
                CheckBox ChkBxItem = (CheckBox)gridView.Rows[i].FindControl("DeleteThis");
                if (ChkBxItem != null && ChkBxItem.Checked)
                {
                    BxsChkd = true;
                    //#warning 代码生成警告:请检查确认Cells的列索引是否正确
                    if (gridView.DataKeys[i].Value != null)
                    {
                        idlist += gridView.DataKeys[i].Value.ToString() + ",";
                    }
                }
            }
            if (BxsChkd)
            {
                idlist = idlist.Substring(0, idlist.LastIndexOf(","));
            }
            return idlist;
        }
/// <summary>
  /// 批量删除数据
  /// </summary>
  public bool DeleteList(string Idlist )
  {
   StringBuilder strSql=new StringBuilder();
   strSql.Append("delete from General_KnowledgePoint ");
   strSql.Append(" where Id in ("+Idlist + ")  ");
   int rows=DbHelperSQL.ExecuteSql(strSql.ToString());
   if (rows > 0)
   {
    return true;
   }
   else
   {
    return false;
   }
  }

方式二:

<script type="text/JavaScript">
        function CheckBoxAll() {
            if ($("input[id*=‘ContentPlaceHolder1_GVListShow_chkAllProp‘]").attr("checked") == true) {
                $("input[id*=‘chkSelect‘]").attr("checked", true);
            }
            else {
                $("input[id*=‘chkSelect‘]").attr("checked", false);
            }
        }
    </script>

<asp:TemplateField HeaderText="选择">
                        <HeaderTemplate>
                            <input type="checkbox" id="chkAllProp" runat="server" onclick="CheckBoxAll()" />全选
                        </HeaderTemplate>
                        <ItemTemplate>
                            <asp:CheckBox ID="chkSelect" runat="server" Text="选择" />
                        </ItemTemplate>
                    </asp:TemplateField>

//取主键值
        string GetIndexKey()
        {
            string indexKey = "";
            for (int i = 0; i <= GVListShow.Rows.Count - 1; i++)
            {
                CheckBox cbox = (CheckBox)GVListShow.Rows[i].FindControl("chkSelect");
                if (cbox.Checked == true)
                {
                    if (indexKey == "")
                    {
                        indexKey = GVListShow.Rows[i].Cells[0].Text.Trim();
                    }
                    else
                    {
                        indexKey += "," + GVListShow.Rows[i].Cells[0].Text.Trim();
                    }
                }
            }
            return indexKey;
        }

相关实例:
//批量删除
        protected void btnDelect_Click(object sender, EventArgs e)
        {
            string indexKeys = GetIndexKey();
            if (indexKeys != "")
            {
                string strWhere = string.Format("Id in ({0})", indexKeys);
                DotNet.BLL.Web_Article BLL = new DotNet.BLL.Web_Article();
                if (1 <= BLL.DeleteWhere(strWhere, null))
                {
                    Web_ArticleBind();
                }
            }
        }

        protected void btnTop_Click(object sender, EventArgs e)
        {
            string indexKeys = GetIndexKey();
            if (indexKeys != "")
            {
                DotNet.BLL.Web_Article BLL = new DotNet.BLL.Web_Article();
                int maxTopNum = 0;
                string strGetWhere = "ComanyId = " + USER.SchoolId;
                object selMaxTopNum = BLL.GetSingle("Max(OrderNum)", strGetWhere, null);
                string strWhere = string.Format("Id in ({0})", indexKeys);
                if (selMaxTopNum != null)
                {
                    maxTopNum = int.Parse(selMaxTopNum.ToString()) + 1;
                    if (1 <= BLL.Update("OrderNum = " + maxTopNum, strWhere, null))
                    {
                        Web_ArticleBind();
                    }
                }
            }
        }

        protected void btnCancelTop_Click(object sender, EventArgs e)
        {
            string indexKeys = GetIndexKey();
            if (indexKeys != "")
            {
                DotNet.BLL.Web_Article BLL = new DotNet.BLL.Web_Article();
                int maxTopNum = 0;
                //object selMaxTopNum = BLL.GetSingle("Max(top_num)", "", null);
                string strWhere = string.Format("Id in ({0})", indexKeys);
                if (1 <= BLL.Update("OrderNum = " + maxTopNum, strWhere, null))
                {
                    Web_ArticleBind();
                }
            }
        }

        //审核新闻
        protected void btnPass_Click(object sender, EventArgs e)
        {
            string indexKeys = GetIndexKey();
            if (indexKeys != "")
            {
                DotNet.BLL.Web_Article BLL = new DotNet.BLL.Web_Article();
                string strWhere = string.Format("Id in ({0})", indexKeys);
                if (1 <= BLL.Update("StateNum = 2,StateName=‘已审核‘ ", strWhere, null))
                {
                    //Response.Redirect(Request.Url.ToString());
                    Web_ArticleBind();

                }
            }
        }

        //取消审核
        protected void btnUnpass_Click(object sender, EventArgs e)
        {
            string indexKeys = GetIndexKey();
            string strUpdate = "SavedOn=getdate()";
            if (indexKeys != "")
            {
                DotNet.BLL.Web_Article BLL = new DotNet.BLL.Web_Article();
                string strWhere = string.Format("Id in ({0})", indexKeys);
                if (1 <= BLL.Update(strUpdate+",StateNum = 1,StateName=‘未审核‘", strWhere, null))
                {
                    //Web_NewsBind();
                    //Response.Redirect(Request.Url.ToString());
                    Web_ArticleBind();
                }
            }
        }

        //转移新闻栏目
        protected void btnChangeCategory_Click(object sender, EventArgs e)
        {
            if (DdlCategoryIdNew.SelectedValue.Trim() == "0")
            {
                DotNet.Common.MessageBox.Show(this, "请选择栏目");
                return;
            }

            string indexKeys = GetIndexKey();
            if (indexKeys != "")
            {
                DotNet.BLL.Web_Article BLL = new DotNet.BLL.Web_Article();
                string strField = "CategoryId = @CategoryId,CategoryName = @CategoryName";
                Hashtable ht = new Hashtable();
                ht.Add("@CategoryId", DdlCategoryIdNew.SelectedValue.Trim());
                ht.Add("@CategoryName", DdlCategoryIdNew.SelectedItem.Text.Trim());
                string strWhere = string.Format("Id in ({0})", indexKeys);
                if (1 <= BLL.Update(strField, strWhere, ht))
                {
                    Web_ArticleBind();
                }
            }
        }
时间: 2024-09-30 19:09:18

ASP.WEB Form 几点知识的相关文章

Asp.net web form url route使用总结

asp.net web form 使用URL路由 注不是mvc中的路由 一.前台控件使用路由,通过表达式生成url地址,注意给路由参数赋值,防止使用了其他路由表达式值方式1:<asp:HyperLink ID="hlSupply" NavigateUrl='<%$RouteUrl:routename=TechSupplySearch,areacode=,techfield=%>'                runat="server">技

ASP.NET Web API实践系列01,以ASP.NET Web Form方式寄宿

创建一个空的ASP.NET Web Form项目. 右键项目,添加新项,创建Web API控制器类,TestController. 删除掉TestController默认的内容,编写如下: using System.Web.Http; namespace WebApplication1 { public class TestController : ApiController { [AcceptVerbs("Get")] public string SayHello() { retur

关于asp.net web form 和 asp.net mvc 的区别

asp.net web forms 有什么缺陷? 1.视图状态臃肿:服务器和客户端传输过程中包含了大量的试图状态——在现在的web程序中甚至多达几百kb,而且每次往返都会请求,导致服务器请求带宽增加,减慢服务器与客户端交互速度. 2.页面生命周期复杂:客户端事件和服务器事件之间的控制代码以及部分页面的生命周期关系复杂而微妙,一旦出现错误,很少有程序员能够成功的控制状态找到问题. 3.不完全的代码分离:asp.net web forms 的前后台代码分离将前台展现代码和后台业务逻辑分开很不错,但是

ASP.NET Web Form和MVC中防止F5刷新引起的重复提交问题

转载  http://www.cnblogs.com/hiteddy/archive/2012/03/29/Prevent_Resubmit_When_Refresh_Reload_In_ASP_NET_Web_Form_MVC.html 什么是刷新/重新载入 IE中的刷新(Refresh),在FF和Chrome中称为重新载入(Reload),与正常进入页面的区别在于以下两点: 1. 缓存控制 如果文件(比如图片)在本地缓存中已经存在,正常进入页面会不访问服务器而直接从本地加载.而对于刷新操作,

小图示优化 - ASP.NET Sprite and Image Optimization (Web Form)

小图示优化 - ASP.NET Sprite and Image Optimization (Web Form) 透过 NuGet安装下面的套件,可以将您的小图示(icon)合并成一张图 透过 CSS Sprites的方式,减少浏览器跟Web Server之间的图档传递,藉此增加效率. 您常看见的 Google 涂鸦(特定节日,Google的标示会有一段动画) 也会用到这样的效果喔! 关于 CSS Sprites可以参阅下面两篇中文文章的说明: http://www.techbang.com/p

添加asp.net mvc到现有的asp.net web form 应用程序

前言 asp.net mvc的前一版本为asp.net web Form(Asp.net mvc之前称为asp.net),其第一个版本与2002年年初发布.asp.net web form 属于.net框架的一部分.在接下来的十余年,asp.net web form框架稳步发展,不去越来越多的网站均采用asp.net 框架.几年后,新的web开发框架asp.net mvc 发布.如果想将asp.net mvc添加到现有的asp.net web form 系统中怎么办呢? 正文 如果想避免风险,想

在ASP.NET 4.0 Web form上使用Routing优化URL

大家都知道MVC里利用Routing的特性将地址映射到Controller和Action上,其实因为本身Routing是.Net 4.0内置的特性了,所以Web form上其实也可以适用的,今天我们就来看看如何做一下URL地址的优化,目的是将http://localhost/Customer.aspx?Id = 1优化成http://localhost/Custome/1的形式. 正文 首先,建立一个空的ASP.NET 4.0 Web form项目,建立Global.asax文件,在Glolal

Web Form 与 Asp.net MVC架构、开发之异同

本文所说的Web Form指的是基于.net 平台开发网站的框架(我们通常称之为:Asp.net),Web Form实际上分为两个部分:Web Form(可视化界面)和Asp.Net(后台web组件).所有System.Web.UI.*命名空间下的可以称为Web Form ,System.Web.*命名空间下的可以称为Asp.net.Asp.net诞生于2002年初,Web Form之前的微软Web 开发技术有ASP,ASP把业务逻辑和标语语言(html)代码混合在页面里,Web Form对AS

asp.net web form 的缺点

与mvc相比,web form 的缺点: 代码架构麻烦. 以页面或控件为单位,把逻辑放在了一起,代码架构简单.平铺直叙,修改.维护比较麻烦. 不方便单元测试.  功能堆加在了一起,不方便对单个的功能进行测试. Viewstate 性能问题. 重用性 不是很好.相同或类似的代码,不好重用. 对html缺少控制. 不利用 团队开发.前台后台代码放在了一起,多个人对同一文件修改,容易出现同步性.协调性问题.版本控制也会有问题.