zoukankan      html  css  js  c++  java
  • Asp.net学习笔录

    ashx 文本框自增,hidden字段判断是否为postback

    ashx div 自增

    ashx get,host


    因为只有设定的name的input textarea text,dp 能提交给服务器

    viewstatedecoder


    Label版本的值存到了ViewState中,TextBox版本不用存,因为TextBox就是Input,自己就会提交给服务器,不需要隐藏字段。

    无状态Http:不会记得上次和网页发生了什么,如果要知道上一次的状态,一个方法是在对浏览器响应结束之前将状态信息保存到页面表单中,下次页面再向服务器发出请求的时候带上这些状态信息,这样服务器就根据这些状态信息还原上次的状态了,

    状态信息保存在隐藏字段中的缺点:加大网站的流量,降低访问速度,机密数据放到表单中会有数据欺骗等安全问题

    asp.net 已经内置了Session机制,不要把太多的对象放到session,Session会有超时销毁机制


    HTTP:
    DebugBar,Http(s)标签的内容,只能分析当前浏览器的内容(HttpWatch)

    JS,css,等图片都是一个单独的请求.

    Request.AppRelativeCurrentExecutinonFilePath获取当前执行请求相对于应用程序目录的虚拟路径以~开头
    Request.PhysicalApplicationPath,获取当前应用的物理路径

    Request.UrlReferrer请求来自哪,可以禁止不是本网站访问这个图片等

    Request.MapPath("~a/b.aspx")虚拟路径转换成物理路径
    Request可以获得请求HTTP所有的发送信息

    Response(以流(outputstream)的形式):
    响应的缓冲输出:为了提高服务器的性能,ASP.NET向浏览器Write的时候默认并不会Write一次就会立即输出到浏览器,而是会缓存数据,到合适的时机或者响应结束才会将缓冲区中的数据一起发送到浏览器
    Response.Buffer,Response.BufferOutput, buffer内部就是调用bufferout,默认是false,是用来控件是否采用缓存。
    Response.Flush()将缓存区中的数据发送给浏览器,这在需要将Write出来的内容立即输出到浏览器的场合非常适用.
    Response.Clear()清除不发送缓存

    Server:
    Server.HtmlDecode(),Server.HtmlEncode,Server.UrlEncode(),Server.UrlDecode.别把HtmlEncode,UrlEncode混了,UrEncode是处理超链接,HtmlEncode是处理 HTML代码的
    个人推荐总 使用HtmlUtility,因为有的地方很难拿到Server对象。

    Server.Transfer(path)内部重定向请求和Response.Redirect()区别:
    Response.Redirect()是发送两次请求,地址栏会变化
    Server.Transfer发送一次请求,地址栏不变化。是服务器内部的接管,浏览器意思不到这个接管的。只能是内部的,不能重定向到外部网站。Server.Transfer不能重定向到ashx,否则会报错。


    Response.AddHeader(Content-Disposition:attachment;filename=a.txt) //单击链接,弹出下载对话框
    否则会在浏览器中打开。

    ContentType=application/x-excel

    Response.WriteFile(filename)把图片输出到页面保存

    页面<%=UserName%>等于Response.write(UserName) =就是表示输出的是值。比如方法返回的是一个字符串等

    aspx,cs,dll之间的关系

    基本控件:
    document.getElementById('<%=服务器控件ID.ClientID;%>')//一般这样取用。。

    if(FileUpload1.HasFile){
       FileUpload.SaveAs(path);path为全路径:Server.MapPath.VirtualPathUtilyty.ToAbsolute
    }

    Repeater:每一行绑定事件(按钮):在Repeat 的ItemCommand的事件中,通过按键的commandName来区分是哪个按钮触发的,commandArgument来绑定ID,
    Repeater.DataBind()//刷新数据库;

  • 相关阅读:
    使用 Markdown Flow 画流程图
    两串锂电池的电池匹配
    笔记: CC2540 和 CC2541 的区别
    Elasticsearch 5.x 关于term query和match query的认识
    es 批量导入文件
    mac 下搭建Elasticsearch 5.4.3分布式集群
    Elastic Search 5.4.3 java api 入门
    solr java demo 基础入门
    创建索引并进行查询
    RabbitMq 之简单队列
  • 原文地址:https://www.cnblogs.com/fujinliang/p/2246952.html
Copyright © 2011-2022 走看看