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

 

目录
相关文章
|
5月前
|
开发框架 NoSQL .NET
ASP.NET Core开发者指南(2022版路线图)
ASP.NET Core开发者指南(2022版路线图)
72 0
ASP.NET Core开发者指南(2022版路线图)
|
Web App开发 缓存 .NET
【推荐】【给中高级开发者】构建高性能ASP.NET应用的几点建议
本篇目录 早期阶段就要对应用进行负载测试 使用高性能类库 你的应用是CPU密集还是IO密集的 使用基于Task的异步模型,但要慎重 分发缓存和会话(session)状态 创建Web Gardens 巧妙地使用缓存和懒加载 不要在MVC视图中放C#代码 适当时使用Fire & Forget 为x64 CPU创建 使用服务器上的监视和诊断工具 分析运行中的应用 如果你在构建一个面向公众的web站点,那么在项目结尾时你想要实现的就是web负载性能良好。
1420 0
|
前端开发 .NET 数据库
ROR学习笔记(2):Asp.Net开发者看ROR
ROR集成了诸多"先进"的理念,比如mvc,模板替换,orm,实体验证,ajax,数据库迁移,session的多种保存机制...等等,也许在今天看来,这些东西都是司空见惯的,但要知道ror框架是在几年前就发布的,所以ROR一出来就一路走红,甚至一度号称"web中小型开发效率天下无敌",也不是浪得虚名的。
1086 0
|
3月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
38 0
|
1月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
95 5
|
8月前
|
存储 开发框架 前端开发
[回馈]ASP.NET Core MVC开发实战之商城系统(五)
经过一段时间的准备,新的一期【ASP.NET Core MVC开发实战之商城系统】已经开始,在之前的文章中,讲解了商城系统的整体功能设计,页面布局设计,环境搭建,系统配置,及首页【商品类型,banner条,友情链接,降价促销,新品爆款】,商品列表页面,商品详情等功能的开发,今天继续讲解购物车功能开发,仅供学习分享使用,如有不足之处,还请指正。
114 0
|
9月前
|
开发框架 前端开发 .NET
[回馈]ASP.NET Core MVC开发实战之商城系统(三)
[回馈]ASP.NET Core MVC开发实战之商城系统(三)
67 0