文档章节

ASP.NET开发者必备小技巧

白志华
 白志华
发布于 2015/10/18 10:55
字数 814
阅读 4
收藏 0
点赞 0
评论 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
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
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
PHP 还是 ASP.NET:我做了正确选择么?

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

oschina
2014/03/31
10.6K
62
20 个 有用的 jQuery 电子书

这里有10 本很好的jquery电子书,提供给开发者。你可以学习到大量的函数和技巧,来提升你的前端开发的能力。 列表如下: Beginning JavaScript and CSS Development with jQuery jQuery – ...

小卒过河
2011/08/07
3.1K
4
asp程序 如何在变成 asp.net

AspToAspX风火轮能够快速将ASP代码转换成ASP.NET,而且还可以封装DLL,使DLL运行在支持ASP.NET的虚拟主机上,自1.0版本发布以来,已经成功转换过国内外大小数百个网站,深受ASP开发者的喜爱,...

james_laughing
2016/06/16
28
0
自学MVC看这里——全网最全ASP.NET MVC 教程汇总

MVC架构已深得人心,微软也不甘落后,推出了Asp.net MVC。小编特意整理博客园乃至整个网络最具价值的MVC技术原创文章,为想要学习ASP.NET MVC技术的学习者提供一个整合学习入口。本文从Why,W...

葡萄城控件技术团队
2016/08/18
204
0
ASP和Domino的比较(偶尔编程PK处处编程)

ASP(Active Server Pages) 是基于服务器段端的编程框架,是运行在IIS内的一系列互相关联的脚本引擎部件,目的是动态产生Web页面——内容由嵌入在Web页面的脚本程序通过ASP引擎动态产生。ASP...

晨曦之光
2012/03/09
0
0
微软在Apache下开源ASP.NET MVC

微软开发部门副总裁Scott Guthrie宣布,ASP.NET MVC及相关项目将在Apache许可证下开源,托管在CodePlex上。ASP.NET MVC是微软的Web应用程序框架,早在2009年已宣布开源, 但采用的是微软公共...

红薯
2012/03/28
2.6K
29

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Weblogic问题解决记录

问题:点击登录,页面刷新但是不进去管理界面。解决:删除cookies再登录。

wffger
25分钟前
0
0
RxJava2的错误处理方案

最近使用retrofit2 + rxKotlin2写接口访问,想尽量平铺代码,于是就想到当借口返回的状态码为「不成功」时(比如:code != 200),就连同网络错误一起,统一在onError方法中处理。想法总是好的...

猴亮屏
33分钟前
0
0
程序的调试信息

调试二进制程序时,经常要借助GDB工具,跟踪程序的执行流程,获取程序执行时变量的值,以发现问题所在。GDB能得到这些信息,是因为编译程序时,编译器保存了相应的信息。Linux下的可执行程序...

qlee
55分钟前
0
0
应用级缓存

缓存命中率 从缓存中读取数据的次数与总读取次数的比例,命中率越高越好 java缓存类型 堆缓存 guavaCache Ehcache3.x 没有序列化和反序列化 堆外缓存ehcache3.x 磁盘缓存 存储在磁盘上 分布式...

writeademo
今天
0
0
python爬虫日志(3)find(),find_all()函数

1.一般来说,为了找到BeautifulSoup对象内任何第一个标签入口,使用find()方法。 以上代码是一个生态金字塔的简单展示,为了找到第一生产者,第一消费者或第二消费者,可以使用Beautiful Sou...

茫羽行
今天
0
0
java:thread:顺序执行多条线程

实现方案: 1.调用线程的join方法:阻塞主线程 2.线程池 package com.java.thread.test;public class MyThread01 implements Runnable {@Overridepublic void run() {Syste...

人觉非常君
今天
0
0
ElasticSearch 重写IK分词器源码设置mysql热词更新词库

常用热词词库的配置方式 1.采用IK 内置词库 优点:部署方便,不用额外指定其他词库位置 缺点:分词单一化,不能指定想分词的词条 2.IK 外置静态词库 优点:部署相对方便,可以通过编辑指定文...

键走偏锋
今天
19
0
Git 2.18版本发布:支持Git协议v2,提升性能

Git 2.18版本发布:支持Git协议v2,提升性能Git 2.18版本发布:支持Git协议v2,提升性能 新版本协议的主要驱动力是使 Git 服务端能够对各种 ref(分支与 tag)进行过滤操作。 这就意味着,G...

linux-tao
今天
0
0
python浏览器自动化测试库【2018/7/22-更新】

64位py2.7版本 更新 document_GetResources 枚举页面资源 document_GetresourceText 获取指定url的内容 包括页面图片 下载地址下载地址 密码:upr47x...

开飞色
今天
44
0
关于DCL双重锁失效及解决方案

关于DCL双重锁失效及解决方案 Double Check Lock (DCL)实现单例 DCL 方式实现单例的优点是既能够在需要时才初始化单例,又能够保证线程安全,且单例对象初始化后调用getInstance方法不进行...

DannyCoder
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部