文档章节

ASP.NET开发者必备小技巧

白志华
 白志华
发布于 2015/10/18 10:55
字数 814
阅读 5
收藏 0

1. 前后台交互

      1.1. 先说后台代码绑定前台元素
    前台的html元素(比如<p>元素)如何在后台代码中识别并使用。

 

    这样在后台是不行的,后台代码找不到:

 

    所以我们要变一下前台,让p标签运行在服务器端:

 

    这样后台就可以识别了:

 

    效果图:

 

      1.2. 现在说说前台代码绑定后台变量方法。
    如果在前台定义一个变量,而在后台需要用到,却不知道怎么取值,那就按我说的做吧:
    在后台中,把变量定义为public类型。

 

    在前台这样写:

 

    效果图:

 

2. 擅长弹出框

 

3. 保持滚动条位置
   要求在页面刷新时仍然停留在当前位置,而不是页面顶部。只需在Page指令中加入MaintainScrollPositionOnPostback="true"属性即可:
<%@ Page Language="C#" MaintainScrollPositionOnPostback="true">

 

4. 跟踪页面执行

    设置断点是页面调试过程中的常用手段,除此之外,还可以通过查看页面的跟踪信息进行错误排查以及性能优化。ASP.NET中启用页面跟踪非常方便,只需在Page指令中加入Trace="True"属性即可:

<%@ Page Language="C#" Trace="true">

     跟踪信息可以分为两类:

       a.页面执行详细情况

       其中主要包括页面生命周期中各事件列表、控件树列表(可以查看每个控件的HTML字节数以及ViewState字节数)、Session状态、Application状态、Cookie集合、QueryString集合、服务器变量等信息。

       b.自定义跟踪信息

       通过在页面代码中调用Trace.Write()或Trace.Warn()方法便可将指定内容写入跟踪信息中的"Trace Information"节。就算页面发生了错误,跟踪信息还是会显示出来,并且在发布应用程序时无需删除相关的跟踪代码,只需从Page指令中移除Trace属性即可。

 

5.设置表单加载后的默认焦点控件

    在Form中添加defaultfocus =“控件ID”即可:

<form id="form1" runat="server" defaultfocus ="TextBox2">

 

6. 设置表单默认提交按钮

    在Form中添加 defaultbutton  =“控件ID”即可:

<form id="form1" runat="server" defaultbutton="Button2" >

 

7. 回车转换成Tab

    比如注册过程中需要添加N项信息,使用tab键可以跳转网页,但是如果把回车键改为Tab键的功能,那么注册速度肯定会快很多。 

<script   language="JavaScript" type="text/javascript">   
    window.document.attachEvent("onkeydown", function () {
        if (window.event.keyCode == 13) {
            window.event.keyCode = 9;
        }
    });   
</script>


8. 屏蔽右键8. 屏蔽右键

<script type="text/javascript">
    function block(oEvent) {
        if (window.event)
            oEvent = window.event;
        if (oEvent.button == 2)
            alert("鼠标右键不可用");
    }
    document.onmousedown = block;
 </script>


9. 让页面文字不被选中和复制

    在body中动动手脚,让页面文字无法选中,就算被选中,放开鼠标后也会取消选中。

<body oncontextmenu=self.event.returnValue=false onselectstart="return false"
 ondragenter='return false' onbeforeprint='return false' onmouseup='document.selection.empty()'>


10. 屏蔽TextBox中的粘贴、复制、剪切和右键 

<asp:TextBox ID="TextBox1" onpaste="return false" oncopy="return false" oncut="return false" context="noContext" runat="server" ></asp:TextBox>

onpaste="return false" 禁用粘贴
oncopy="return false" 禁用复制
oncut="return false" 禁用剪切
context="noContext" 禁用右键菜单

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

本文转载自:http://blog.csdn.net/xiaoxian8023/article/details/7705486

共有 人打赏支持
白志华
粉丝 29
博文 265
码字总数 57524
作品 0
长沙
程序员
.NET 开发者必备的工具箱

本文作者Spencer是一名专注于ASP.NET和C#的程序员,他列举了平时工作、在家所使用的大部分开发工具,其中大部分工具都是集中于开发,当然也有一些其它用途的,比如图片处理、文件压缩等。 如...

oschina
2015/01/30
7K
26
ASP.NET MVC3 系列教程 - 目录

I:ASP.NET MVC3 新增的功能 ASP.NET MVC3 系列教程 - Razor视图引擎基础语法 ASP.NET MVC3 系列教程 - View的变化 ASP.NET MVC3 系列教程 – Web Pages 1.0 ASP.NET MVC3 系列教程 – 新的L...

晨曦之光
2012/06/05
1K
0
11个显著提升 ASP.NET 应用程序性能的技巧——第1部分

【编者按】本文出自站外作者 Brij Bhushan Mishra ,Brij 是微软 MVP-ASP.NET/IIS、C# Corner MVP、CodeProject Insider,前 CodeProject MVP,CodeProject Mentor 以及 CodeProject Platin......

OneAPM蓝海讯通
2016/01/13
37
0
微软的.Net社区虚拟大会-首日重点(dotnetConf 2016)

6月7日--9日,为期三天的微软.NET社区虚拟大会正式在 Channel9 上召开。 在 Scott Hunter, Miguel de Icaza (Xamarin CTO) , ScottHanselman 等大神云集的大会上,包括微软产品团队和众多.NE...

葡萄城控件技术团队
2016/06/08
28
0
PHP 还是 ASP.NET:我做了正确选择么?

在2001年, 我曾面临一个选择,去学PHP或者ASP.NET。 我最终选了后者,但我依然怀疑这个选择其实不好。 那是2001年,我面临一个选择。 设想一下,如果你可以回到过去,改写你的技术生涯。哪些...

oschina
2014/03/31
10.6K
62

没有更多内容

加载失败,请刷新页面

加载更多

Cointext在阿根廷和土耳其推出比特币现金短信钱包

Cointext于10月15日开始在土耳其和阿根廷提供新的基于SMS的比特币现金钱包服务,这两个国家的加密货币使用量急剧上升,以应对严峻的经济形势。 移动钱包 通过短信处理BCH交易 “比特币是更好...

lpy411
31分钟前
1
0
大数据早课-0918

9.18日早课 1.全局搜索含有abc的文件名称或文件夹的命令 2.当前目录一般用什么表示 3.切换到上一次和上一层命令分别是什么 4.pwd是查看当前目录的什么 5.隐藏文件或文件夹的标识是什么? 怎样...

hnairdb
31分钟前
1
0
mybatis学习笔记一

一、mybaits需要的项目依赖 <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artif......

wuyiyi
32分钟前
2
0
CentOS6 安装 GraphicsMagick

1.安装相关依赖: yum install -y gcc libpng libjpeg libpng-devel libjpeg-devel ghostscript libtiff libtiff-devel freetype freetype-devel 2.下载并解压到目录/usr/local/ wget ft......

凯文加内特
34分钟前
1
0
RabbitMq集群使用Nginx做负载均衡

1.配置rabbitmq集群(可以参考前一篇RabbitMq之部署集群) 2.Nginx做负载均衡 注意:Nginx1.90版本后 新增了stream 模块用于一般的 TCP 代理和负载均衡,之前版本不支持 修改Nginx配置文件ngi...

zhaochaochao
39分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部