zoukankan      html  css  js  c++  java
  • 网站建设小技巧,随时更新

    一:当需要页面刷新以后,使滚动条保持在原来的位置,除了用ajax技术外,一个小技巧可以

      在页面(*.aspx)的头部,有个参数MaintainScrollPositionOnPostback设置MaintainScrollPositionOnPostback="true"即可;

    二:当点击一个地方,然后跳到页面上下的任意一个位置时,可以用“锚记”,具体方法:

    页面头部有“我要评论”(代码是:<a href="#youname">我要评论</a>)然后跳到写评论的区域(代码:<a name="youname">&nbsp;</a>)

    即可。

      其中name就是一个锚;

    三:后置代码中,输出js提示语句,页面部分不会变白的方法:

    Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script>alert('验证码有误!')</script>");

    四:.net内置验证控件问题

    需要验证控件只验证某一部分,比如新闻评论的验证码问题,需要验证的是,文本输入框,按钮,则只需将这些划到一个验证组(ValidationGroup)就好

    <div class="addcomment">
            <asp:TextBox ID="txtComment" ValidationGroup="Codeare" CssClass="comment_com" runat="server" TextMode="MultiLine" OnClick="this.select()" Text="请在此输入评论内容"></asp:TextBox>
            <p class="code">验证码:<asp:TextBox ID="txtCode" ValidationGroup="Codeare"  runat="server"></asp:TextBox><asp:RequiredFieldValidator
                ID="RequiredFieldValidator1" ValidationGroup="Codeare"  runat="server" ControlToValidate="txtCode"   ErrorMessage="请输入验证码" Text="*"></asp:RequiredFieldValidator><asp:ValidationSummary
                    ID="ValidationSummary1" ValidationGroup="Codeare"  ShowMessageBox="true"  ShowSummary="false" runat="server" />
                <a name="com">&nbsp</a> <img id="imgCode" title="看不清,点击换一张" alt="看不清,请点击我!" src="Code.aspx" mce_src="Code.aspx"    
                      style="cursor: hand;  76px; height: 21px" onclick="this.src=this.src+'?'"  /></p>
            <p><asp:Button ValidationGroup="Codeare"  ID="btnsub" runat="server" Text="提交评论" onclick="btnsub_Click" /></p>
    
        </div>
    

     五、三元运算符控制标题长度

    <%#Eval("FileName").ToString().Length>20?Eval("FileName").ToString().Substring(0,19)+"…":Eval("FileName")%>

    六、JS控制自动滚动

    1、首尾相接滚动一条停顿一下

    代码:

    <script> 
    var Mar = document.getElementById("gundongContent"); 
    var child_div=Mar.getElementsByTagName("div") 
    var picH = 269;//移动高度 
    var scrollstep=3;//移动步幅,越大越快 
    var scrolltime=20;//移动频度(毫秒)越大越慢 
    var stoptime=3000;//间断时间(毫秒) 
    var tmpH = 0; 
    Mar.innerHTML += Mar.innerHTML; 
    function start(){ 
    if(tmpH < picH){ 
    tmpH += scrollstep; 
    if(tmpH > picH )tmpH = picH ; 
    Mar.scrollTop = tmpH; 
    setTimeout(start,scrolltime); 
    }else{ 
    tmpH = 0; 
    Mar.appendChild(child_div[0]); 
    Mar.scrollTop = 0; 
    setTimeout(start,stoptime); 
    } 
    } 
    onload=function(){setTimeout(start,stoptime)}; 
    </script>

    用法:建立一个div盒子,设置其ID属性,JS通过此ID找到滚动的内容

    如上例<div id="gundongContent">

    <div>滚动内容1</div>

    <div>滚动内容2</div>

    </div>

    2、不间断首尾相接滚动

    代码:

    <script>
    var speed=30
    demo2.innerHTML=demo1.innerHTML
    function Marquee(){
    if(demo2.offsetTop-demo.scrollTop<=0)
    demo.scrollTop-=demo1.offsetHeight
    else{
    demo.scrollTop++
    }
    }
    var MyMar=setInterval(Marquee,speed)
    demo.onmouseover=function() {clearInterval(MyMar)}
    demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
    </script>

     七、触发器--联级删除(删除类别时,同时删除类别下新闻,新闻下评论---顺序是从deleted表中查询出正在删除的类别ID,先删评论,再删新闻,最后删除类          别,完成操作

          alter TRIGGER DEL_cate_news
          ON  category 
          instead of DELETE
          AS  BEGIN  
          declare @ID int  
          select @ID = ID from deleted  
          --删除评论
          delete comment where newsId in
          (select ID from news where caid=@ID)   
          --删除新闻 
          delete news where caid=@ID    
          --删除类别  
          delete category where ID=@ID
          END

    八、存储过程,联级删除(根据新闻ID先删除评论,再删除新闻---目的是删除新闻

        ALTER PROCEDURE [dbo].[news_Delete]
         @id int
        AS
        BEGIN
         --先删除评论
         delete comment where comment.newsId=@id
         --再删除新闻
         delete news where news.id=@id
        END

    九、URL编码解码

            // 首先加入System.Web引用。 
            ///  <summary> 
            /// URL解码
            /// </summary> 
            /// <param name="source"> 待解码字符串 </param> 
            /// <param name="encode"> 待解码字符串编码格式 </param> 
            /// <returns> 解码后的字符串 </returns> 
            public static string UrlDeCode( string source, Encoding encode)
            {
                return System.Web.HttpUtility.UrlDecode(source,encode);
            }
            /// <summary> 
            /// URL加密
            /// </summary> 
            /// <param name="source"> 待加密字符串 </param> 
            /// <param name="encode"> 待加密字符串编码格式 </param> 
            /// <returns> 加密后的字符串 </returns> 
            public static string UrlEnCode( string source, Encoding encode)
            {
               return System.Web.HttpUtility.UrlEncode(source,encode);
               
            }

     十、尼玛,Server.Transfer传值

    A页面

    protected void btn1_Click(object sender, EventArgs e)
        {
            string str = "尼玛,Server.Transfer传值";
            this.Context.Items.Add("Text", str);
            Server.Transfer("B.aspx");
        }

    B页面

    this.lbl1.Text = this.Context.Items["Text"].ToString();

     十一、取出31---40条记录

    select * from  
        (select *,ROW_NUMBER() OVER(Order by  id asc ) AS RowNumber from news)  b 
          where RowNumber between 31 and 40

    十二、关于ashx创建session的问题

    这两天自己学习JQuery和ajax,做个小Demo创建session的时候遇到了困难,网上查询资料时发现很多朋友都遇到了类似的问题,故贴出相关代码,供大家参考。

    public class LoginAjax : IHttpHandler,IRequiresSessionState //需要实现 IRequiresSessionState接口
        {
            UserManage um = new UserManage();
            public void ProcessRequest(HttpContext context)
            {
                Users ur = null;
                context.Response.ContentType = "text/plain";
                ur= um.getLoginfo(context.Request["name"], context.Request["pwd"]);
                if (ur != null && ur.Status==0)
                {
                    context.Session["id"] = ur.Uid; //给创建Session,并赋值,读取方法不变
                    context.Session["name"] = ur.Uname;
                    context.Response.Write("1");
                }
                else
                {
                    context.Response.Write("0");
                }
            }

     十三、将数据库一串按固定字符分割的字符串,转换为一个数组进行操作

    string str = "~/uploadfile/201208/17/13292F22.jpg|~/uploadfile/201208/17/80EC3643.jpg|~/uploadfile/201208/17/591957C3.jpg|";
            var array = str.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries).ToArray();

  • 相关阅读:
    (4.7)怎么捕获和记录SQL Server中发生的死锁?
    SQLSERVER排查CPU占用高的情况
    (4.6)sql server索引缺失提示
    (4.14)向上取整、向下取整、四舍五入取整的实例
    mysql大致学习路径
    (2)linux未使用eth0,未使用IPV4导致无法连接
    (4.13)sql server参数嗅探(parameter sniffing)
    完美女人
    关于box-sizing
    什么是担当
  • 原文地址:https://www.cnblogs.com/juexin/p/2864476.html
Copyright © 2011-2022 走看看