- 浏览: 2185229 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (1878)
- [网站分类]ASP.NET (141)
- [网站分类]C# (80)
- [随笔分类]NET知识库 (80)
- [随笔分类]摘抄文字[非技术] (3)
- [随笔分类]养生保健 (4)
- [网站分类]读书区 (16)
- [随笔分类]赚钱 (7)
- [网站分类].NET新手区 (233)
- [随笔分类]网站 (75)
- [网站分类]企业信息化其他 (4)
- [网站分类]首页候选区 (34)
- [网站分类]转载区 (12)
- [网站分类]SQL Server (16)
- [网站分类]程序人生 (7)
- [网站分类]WinForm (2)
- [随笔分类]错误集 (12)
- [网站分类]JavaScript (3)
- [随笔分类]小说九鼎记 (69)
- [随笔分类]技术文章 (15)
- [网站分类]求职面试 (3)
- [网站分类]其他技术区 (6)
- [网站分类]非技术区 (10)
- [发布至博客园首页] (5)
- [网站分类]jQuery (6)
- [网站分类].NET精华区 (6)
- [网站分类]Html/Css (10)
- [随笔分类]加速及SEO (10)
- [网站分类]Google开发 (4)
- [随笔分类]旅游备注 (2)
- [网站分类]架构设计 (3)
- [网站分类]Linux (23)
- [随笔分类]重要注册 (3)
- [随笔分类]Linux+PHP (10)
- [网站分类]PHP (11)
- [网站分类]VS2010 (2)
- [网站分类]CLR (1)
- [网站分类]C++ (1)
- [网站分类]ASP.NET MVC (2)
- [网站分类]项目与团队管理 (1)
- [随笔分类]个人总结 (1)
- [随笔分类]问题集 (3)
- [网站分类]代码与软件发布 (1)
- [网站分类]Android开发 (1)
- [网站分类]MySQL (1)
- [网站分类]开源研究 (6)
- ddd (0)
- 好久没写blog了 (0)
- sqlserver (2)
最新评论
-
JamesLiuX:
博主,能组个队么,我是Freelancer新手。
Freelancer.com(原GAF – GetAFreelancer)帐户里的钱如何取出? -
yw10260609:
我认为在混淆前,最好把相关代码备份一下比较好,不然项目完成后, ...
DotFuscator 小记 -
日月葬花魂:
大哥 能 加我个QQ 交流一下嘛 ?51264722 我Q ...
web应用程序和Web网站区别 -
iaimg:
我想问下嵌入delphi写的程序总是出现窗体后面感觉有个主窗体 ...
C#自定义控件:WinForm将其它应用程序窗体嵌入自己内部 -
iaimg:
代码地址下不了啊!
C#自定义控件:WinForm将其它应用程序窗体嵌入自己内部
做了几年的ASP.NET,积累了不少小技巧。但是技巧只适合于特定的环境,还不如加强对基础知识的理解与运用。下面是我的一点体会,与大家分享。
1 母版页
这个控件可以使我忘记html的iframe之类的页面框架方案,还有frameset.
asp开发中还支持<#include file=”head.asp>
现在有母版页可以轻松的以.NET的方式来进行编写页面。
1) 在母版页对应的内容页中,查找母版页中的控件 ,并给它赋值
MasterPage.FindControl(“lblTitle”)=”New Request”
2) 母版页中使用JavaScript,取到文本控件的值,验证它是否合法
’<=txtUserName.ClientID>’
2 User Control 不常用,但是有时候会用到。比如,为了统一不同用户的页面地址,把不同角色的页面放到User Control中,而在同一个页面中,根据当前登陆的用户判断,加载不同的User Control
新建立二个文件,PM.ascx, GM.ascx分别对应于角色是PM和GM时的页面,在页面中作如下判断
UserControl uc
swith(role)
{
case “PM”
uc=(UserControl) LoadControl(“~/PM.ascx”); break;
case ‘GM”
uc=(UserControl) LoadControl(“~/GM.ascx”); break;
}
placeHolder.Controls.Add(uc);
placeHolder是在页面上放置的一个PlaceHolder控件。
3 数据源控件 用法举例
把数据库的字段绑定到DropDownList 控件中
<asp:DropDownList ID="ddlEndCustomer" runat="server" Width="130" DataTextField="ShortName"
DataValueField="ShortName" DataSourceID="sqlEndCustomer">
</asp:DropDownList>
<asp:SqlDataSource ID="sqlEndCustomer" runat="server" ConnectionString="<%$ ConnectionStrings:HTSystemConnectionString %>"
SelectCommand="SELECT LTRIM(RTRIM([ShortName])) [ShortName] FROM [Customer] "> </asp:SqlDataSource>
再来一个XmlDataSource
<asp:DropDownList ID="ddlPartResin" runat="server" Width="130" DataSourceID="xmlLedgerAcc" DataTextField="Text" DataValueField="Value">
</asp:DropDownList>
<asp:XmlDataSource ID="xmlLedgerAcc" DataFile="~/App_Data/PartResin.xml" runat="server" XPath="Items/Item"></asp:XmlDataSource>
Xml文件格式如下
<?xml version="1.0" encoding="utf-8" ?>
<Items>
<Item Text="ABS" Value="ABS"></Item>
<Item Text="HIPS" Value="HIPS"></Item>
<Item Text="PA" Value="PA"></Item>
</Items>
对于ObjectDataSource,用的不熟练,没有在项目开发中使用。SqlDataSource 也很少直接用于GridView的数据绑定,数据库中的数据,通常需要转换一下,用这个控件还要重新写代码,还不如直接写代码来的方便。
举例,数据库中有一个字段,smallint类型,1表示男,0表示女。用程序判断一下才可以绑定到控件中去。SQL写法如下
SELECT Sex=CASE WHEN Sex=1 THEN ‘Man’
WHEN Sex=0 THEN ‘Woman’
END
FROM Employee
4 资源文件
通常要放置一些提示字符串,比如“操作成功”,“新增业务订单失败”之类的,分散在各个类中,不好管理,也不容易统一风格。用资源文件可以有效的解决这个问题
新建2个文件,Strings.aspx.en-us.resx,Strings.aspx.resx
在文件里面写明字符串资源的值的键,在页面的后台代码中调用
Bitmap img = (System.Drawing.Bitmap)GetGlobalResourceObject(
"MyGlobal", CultureInfo.CurrentCulture.Name);
(string)GetGlobalResourceObject("MyGlobal", "GlobalText");
(string)GetLocalResourceObject("lbl.Text");
如代码所示,可以从全局的资源文件或局部资源文件中取出相应的资源,可以是字符串,也可以是图片
5 验证控件
<asp:TextBox ID="txtUserName" runat="server" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="RequiredFieldValidator" Display="None" ControlToValidate="txtUserName"></asp:RequiredFieldValidator>
验证用户名是必须输入的,否则不允许提交
如果你用了验证控件,页面上的按钮的默认属性CausesValidation=true,每一个按钮是会触发验证的。
上周帮忙同事看一个问题,如下图
这是选择用户的页面,点击>按钮把员工添加到右边的ListBox中去。
我的同事拷贝我的代码过去,点击>按钮,页面事件没有任何反应,debugger也不能中断。
我仔细检查他的页面代码,发现他使用了ASP.NET的验证控件,验证控件本身不显示错误提示,如代码所示Display="None" ,把所有的验证提示放到ValidationSummary,偏偏他的代码中又没有拷贝这个控件,所以怎么也找不到问题。我告诉他把>按钮的CausesValidation设为false,按钮开始正常工作。
6 Themes用的不多,不如在CSS文件中设置方便。
Membership虽然是可扩展的,可是MS做了那么多存储过程,关系复杂,自己很少用。
我有见过在Win Forms应用程序中,应用aspnetdb作为用户验证数据库,自己在Web开发都没有用到,居然有人在Win Forms中应用,可见它还是具有典型的意义。aspnetdb还提供了一个管理工具,可以直接添加用户,添加角色,这可以快速搭建一个角色权限数据库,验证系统用户。
Security通常是Form验证。我们公司内部局域网以域方式管理,相互信任的关系,改选用Windows验证方式,用每个电脑的Login ID作主用户名标识,当发现数据库中不存在该用户时,调出引导注册页面,让用户注册,然后管理员审核一下他的角色,赋予相应的权限就可以。
Profile也很少用,估计这东东和Portal Framework关系密切,几乎没有用。
有用户提到过一个需求,为每个输入窗体配置一些默认值,方便他快速的输入数据。因为角色是几乎不变的,要输入的数据,通常就那几个类别,我弄成DropDownList 供他选择,还不够方便,最好直接帮忙他选择一个默认值,这个默认值在80%的情况下是正确的。
估计这个功能用Profile来做会比较轻松,在新版本中考虑用这个特性来做。
6 Cache
在ASP.NET 1.1时代做过一个方案,要做一个多语言的ASP.NET应程序,把语言放置到Xml中,写成zh-cn.xml,en-us.xml,zh-tw.xml,然后在界面中读取这个文件,给界面元素赋值。
当是没有用缓存,有高人提示,这个文件的内容几乎不会变化,应该主动用文件依赖缓存,加快读取速度。
还有个争持,是用HttpContext.Cahce,还是用HttpRuntime.Cache,页面的Cache肯定是最糟糕的方案。那时我笨,也没有分清楚这两个的关系。现在你应该知道是用拿一个,否则要查一个MSDN。
上一段代码,练下手
if (Cache["key"] == null)
{
Cache.Insert("key", DateTime.Now, null, DateTime.Now.AddSeconds(10), TimeSpan.Zero);
}
DateTime dt = (DateTime)Cache["key"];
缓存的使用模式是要先判断是否存在,不存在要刷新缓存,否则直接取值
if(Cache[“Name”]==null)
Cache.Insert("Name", DateTime.Now, null, DateTime.Now.AddSeconds(10), TimeSpan.Zero);
txtUserName.Text=Convert.ToString(Cache[“Name”]);
当有大量的缓存键值对时,最好也做个CacheManager,统一管理键值对,减少出错。
发表评论
-
where T:new() 是什么意思
2014-04-18 09:26 1468where T:new() 是什么意思 经常看到方法后面 ... -
好久没写blog了
2012-05-21 18:43 2好久没写blog了 -
test
2011-03-19 09:48 821testddddddddddd -
QQ自动发日志分析
2011-03-10 18:15 1276首先列举比较重要的问 ... -
test
2011-02-23 18:03 812test -
test
2011-02-23 17:53 885test -
为啥cnblogs的数据不能导了
2011-02-23 11:03 919为啥cnblogs的数据不能导了内容 -
如何保护.net中的dll文件(防破解、反编译)
2010-07-30 00:28 1499.net是一种建立在虚拟机上执行的语言,它直接生成 MSIL ... -
提搞网站访问速度可做哪些优化
2010-08-08 15:30 1124一、 服务器优化 ... -
ASP.NET(c#)如何判断浏览器是否支持cookies
2010-07-29 09:33 1724实例代码: 下面是写cookie ... -
N点虚拟主机管理系统(For Windows2003/2008)功能及介绍
2010-04-09 11:23 2269N点虚拟主机管理系统是 ... -
使用c#+(datagrid控件)编辑xml文件
2010-04-06 09:13 1174对xml文件的记录进行删除,修改,或增加新记录。 利用了d ... -
HTTP代理模块(HTTP Proxy)
2010-04-04 10:19 3055HTTP代理模块(HTTP Proxy ... -
Error 80040154 retreiving COM Class factory
2010-03-29 09:23 22601.ask: Greetings, I have ... -
petshop4.0 详解之二(数据访问层之数据库访问设计)
2010-03-27 11:08 1076在系列一中,我从整体上分析了PetShop的架构设计,并提及了 ... -
分享十五个最佳jQuery幻灯插件和教程
2010-03-25 09:17 2015<p>在网站前端中使用jQuery库已经变得越来越 ... -
20个软件开发常用设计文档大全下载
2009-08-27 10:22 979搜集了一些软件开发的常用文档,分享给大家 总下载地址: h ... -
asp.net 在线 mp3,wma, avi
2009-09-04 13:58 9341.前台js<script type="tex ... -
sql db link string
2009-09-06 21:52 988SQL Server ODBC Standar ... -
ASP.Net2.0小技巧 保持滚动条的位置 焦点移动到某个控件 $符号轻松的使用FindControl
2009-09-11 11:05 1304您可能不知道的ASP.Net2.0 ...
相关推荐
标签中的关键词“asp.net 编程语言 json .net”表明了Json.net在ASP.NET开发中的核心地位,它使得ASP.NET开发者能轻松地处理服务器端和客户端之间的JSON数据交换。JSON是一种轻量级的数据交换格式,尤其适合Web服务...
上篇 ASP.NET应用与开发基础 第1章 ASP.NET概论 1.1 ASP.NET简介 1.1.1 从.NET谈起 1.1.2 动态网站设计技术 1.1.3 ASP.NET的介绍 1.1.4 ASP.NET和ASP的对比 1.2 运行环境配置 1.2.1 ASP...
本小结将涵盖ASP.NET开发中的关键技术、常用控件以及WebPart示例。 一、ASP.NET核心技术 1. **页面生命周期**:在ASP.NET中,每个网页都经历了加载、初始化、加载数据、呈现和卸载等阶段。理解页面生命周期对优化...
.NET Web API 接收 XML 格式数据的 3 种情况小结 在 ASP.NET 编程中,Web API 是一个框架,可以很容易构建达成了广泛的 HTTP 服务客户端,包括浏览器和移动设备。是构建 RESTful 应用程序的理想平台的 .NET 框架。...
上篇ASP.NET应用与开发基础 第1章ASP.NET概论 1.1ASP.NET简介 1.1.1从.NET谈起 1.1.2动态网站设计技术 1.1.3ASP.NET的介绍 1.1.4ASP.NET和ASP的对比 1.2运行环境配置 1.2.1ASP.NET运行环境介绍 1.2.21lS的安装和配置...
ASP.NET 简单生成 XML 文件的方法 标题解释 ASP.NET 编程知识中,生成 XML 文件是一种常见的操作。XML(Extensible Markup Language)是一种标记语言,用于存储和传输数据。...asp.net 创建 XML 文件的方法小结
ASP.NET期末课程设计是一个针对学生们的实践项目,旨在让他们运用所学的ASP.NET和SQL技术进行实际开发。在这个过程中,学生们将有机会深入了解Web应用程序的生命周期、数据库交互以及用户体验设计等核心概念。 首先...
ASP.NET编程知识之VS2010显示代码行数的方法 VS2010显示代码行数的方法是ASP.NET编程知识中一个非常重要的内容。作为一名专业的IT行业大师,我将详细地介绍VS2010显示代码行数的方法,并对相关知识点进行解释。 ...
通过这些资料,学习者可以系统地掌握ASP.NET开发的基本技能,包括Web Forms和MVC模式的应用、数据库操作、用户体验优化等,同时也能提升问题解决和项目管理的能力。对于准备从事或已经从事Web开发的人来说,这些都是...
asp.net200问-专家门诊—ASP.NET开发答疑 ASP.NetWebPage深入探讨.txt ASP.NET中为DataGrid添加合计字段.doc ASP.NET中实现DataGrid数据排序.doc asp.net中的弹出对话框.doc ASP.NET中自定义控件的创建和使用....
### ASP.NET开发大全资料之网页代码模型及生命周期详解 #### 4.1 ASP.NET的网页代码模型 在深入了解ASP.NET应用程序开发之前,首先要掌握的是网页代码模型这一核心概念。这不仅是构建高效、可维护的应用程序的基础...
### ASP.NET 学生管理系统研究知识点总结 #### 一、引言 随着信息化技术的不断发展,尤其是计算机网络技术和数据库技术的进步,人们的工作和生活方式正在发生深刻变化。在教育领域,利用现代信息技术提升教学效率...
**学习目的**:本节重点在于学习如何搭建ASP.NET开发环境,确保一切就绪以便进行后续学习。 **操作步骤**: 1. **操作系统选择**:建议使用Windows 2000及以上版本的操作系统进行开发。 2. **下载并安装MDAC ...
### ASP.NET 完全入门知识点概述 #### 第一篇 概论 **第一章 微软.NET战略和ASP.NET简介** 1. **微软.NET的历史** - 微软.NET平台的诞生标志着软件开发领域的一个重大转折点,它为跨平台、跨语言的应用程序提供...
### ASP.NET网站设计实例知识点详解 #### 一、ASP.NET简介 ASP.NET是Microsoft开发的一种服务器端脚本环境,用于创建动态网页。它基于.NET框架,可以使用多种编程语言(如C#、VB.NET等)来编写代码。ASP.NET提供了...
了解并熟练掌握这些特性,对于开发复杂的ASP.NET应用程序至关重要,尤其是在需要丰富用户交互的场景下。记住,使用`DirectEventArgs`可以更好地访问和利用组件的附加功能,而自定义属性则允许我们在组件中存储和访问...
### ASP.NET学习经验小结 ASP.NET是一种广泛使用的Web开发框架,由微软开发并支持。本文将基于提供的标题、描述及部分代码示例,详细解析ASP.NET中的几个关键概念及其应用,包括验证器(Validator)、IsPostBack、...
小结 第2章Bootstrap介绍 默认菜单 含有下拉列表和搜索框的菜单 按钮 警告框 主题 小结 第3章Knockout.js介绍 安装Knockout.js 基本示例 何为MVVM? 创建ViewModel 小结 第4章数据库应用 Entity ...
第一部分介绍ASP.NET 2.0的基础知识,包括.NET框架的体系结构、ASPX网页的运行机制、验证控件的使用以及相关的浏览器技术。第二部分介绍了数据访伺技术,包括ADO.NET的系统结构,对数据库的连接、显示、编辑与...