ASP.NET开发者必备小技巧

简介: 1. 前后台交互     1.1. 先说后台代码绑定前台元素     前台的html元素(比如元素)如何在后台代码中识别并使用。       这样在后台是不行的,后台代码找不到:       所以我们要变一下前台,让p标签运行在服务器端:       这样后台就可以识别了:       效果图:       1.2. 现在说说前台代码绑定后台变量方法。

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" 禁用右键菜单

 

目录
相关文章
|
2月前
|
Java C# 开发者
【干货】Java开发者快速上手.NET指南
【干货】Java开发者快速上手.NET指南
|
2月前
|
JSON IDE 前端开发
[.NET开发者的福音]一个方便易用的在线.NET代码编辑工具.NET Fiddle
[.NET开发者的福音]一个方便易用的在线.NET代码编辑工具.NET Fiddle
|
8月前
|
开发框架 NoSQL .NET
ASP.NET Core开发者指南(2022版路线图)
ASP.NET Core开发者指南(2022版路线图)
91 0
ASP.NET Core开发者指南(2022版路线图)
|
1月前
|
网络协议 Java 程序员
TCP/IP协议栈是网络通信基础,Java的`java.net`包提供工具,使开发者能利用TCP/IP创建网络应用
【6月更文挑战第23天】 **TCP/IP协议栈是网络通信基础,它包含应用层(HTTP, FTP等)、传输层(TCP, UDP)、网络层(IP)、数据链路层(帧, MAC地址)和物理层(硬件信号)。Java的`java.net`包提供工具,使开发者能利用TCP/IP创建网络应用,如Socket和ServerSocket用于客户端和服务器通信。**
37 3
|
8月前
|
算法 程序员 Linux
MKL.NET:为.NET开发者提供高性能数学计算支持的开源库
MKL.NET:为.NET开发者提供高性能数学计算支持的开源库
89 0
|
8月前
|
设计模式 前端开发 C#
Helix Toolkit:为.NET开发者带来的3D视觉盛宴
Helix Toolkit:为.NET开发者带来的3D视觉盛宴
133 0
|
开发框架 前端开发 .NET
ASP.NET Core Web API 使用小技巧
ASP.NET Core Web API 使用小技巧 一、前言#  在目前的软件开发的潮流中,不管是前后端分离还是服务化改造,后端更多的是通过构建 API 接口服务从而为 web、app、desktop 等各种客户端提供业务支持,如何构建一个符合规范、容易理解的 API 接口是我们后端开发人员需要考虑的。
1502 0
|
Unix Linux Shell
一个.NET Core开发者的Linux入门学习笔记
用.NET Core开发也有一段时间了,但是由于工作原因一直都是在Windows系统上进行的开发,一直想学习Linux然后把.NET Core开发的程序跑在Linux上,然后把心得体会记录一下发布再博客园,奈何拖延症泛滥,所以只写过一篇《CentOS开发ASP.NET Core入门教程》之后就继续征战Windows了!作为新年Flag之一就是学习Docker,K8S,虽然windows系统也能进行开发,但是毕竟Linux才是正途,因此这两天特地学习了一下Linux系统,并整理成这篇学习笔记,希望对.NET Core开发者学习Linux有所帮助。
7398 0
|
缓存 NoSQL 网络安全
.NET Core开发者的福音之玩转Redis的又一傻瓜式神器推荐
原文:.NET Core开发者的福音之玩转Redis的又一傻瓜式神器推荐 作者:依乐祝 原本链接:https://www.cnblogs.com/yilezhu/p/9947905.html 引子 为什么写这篇文章呢?因为.
1206 0
|
缓存 NoSQL 网络安全
.NET Core开发者的福音之玩转Redis的又一傻瓜式神器推荐
作者:依乐祝原本链接:https://www.cnblogs.com/yilezhu/p/9947905.html 引子 为什么写这篇文章呢?因为.NET Core的生态越来越好了!之前玩转.net的时候操作Redis相信大伙都使用过一些组件,但都有一些缺点,如ServiceStack.
1780 0