七招制胜ASP.NET应用程序开发

asp.net|程序|asp.net

随着微软.NET的流行,ASP.NET越来越为广大开发人员所接受。作为ASP.NET的开发人员,我们不仅需要掌握其基本的原理,更要多多实践,从实践中获取真正的开发本领。在我们的实际开发中,往往基本的原理满足不了开发需求,我们更多的要积累一些开发技巧,本文就向大家介绍一些实用技巧,希望对大家的开发有所裨益。

  1. ~ 的用法

  一般的情况下,我们是使用./../ 这样的相对路径来确定和规划我们的资源(比如图片、资源文件),但这种方式下在我们部署应用的时候,可能会出错,另外对于.ascx的控件中如果包含了一个图片,而这个控件被我们在不同层次的两个目录的aspx文件分别引用时,问题就会出现了。

  ~/image/about.bmp 是一种非常好的方法,它以Web应用程序的根目录为起始点,这样使得比你使用./image/about.bmp这样的方式要更加灵活和方便。有一点不好,是这种方式是在ASP.NET运行时动态解析的,所以在IDE设计模式中,你可能不能预览它。

  2. 在刷新和提交页面后,保存你的页面滚动条的位置

  经常有这样的情况,我们需要用户提交一个表单,但是表单中有超过500+个?控件或文本框要填写,也就是说用户需要拉动IE的滚动条才能够填得完,那么假如用户正在可见IE范围的2/3处,选择了一个组合框的值,很不幸组合框是服务器端的,那么也就意味着页面会提交一次,而当用户再看见刷新过的页面时,页面确定在3/1的地方也就是显示在页面最开始的地方,用户只有拖动鼠标,然后接着刚刚的地方再填写剩下的250个控件,很不幸,370个控件又需要他选择一下?

  用下面的方法可以很快地确定和记住你提交前的位置。

  网上的Old Dog Learns New Tricks也有一个类似的例子Maintain Scroll Position in any Page Element,不过他使用了Web Behavior这意味着你需要使用一个.htc文件

Private Sub RetainScrollPosition()

Dim saveScrollPosition As New StringBuilder
Dim setScrollPosition As New StringBuilder

RegisterHiddenField("__SCROLLPOS", "0")
saveScrollPosition.Append("<script language='javascript'>")
saveScrollPosition.Append("function saveScrollPosition() {")
saveScrollPosition.Append(" document.forms[0].__SCROLLPOS.value = thebody.scrollTop;")
saveScrollPosition.Append("}")
saveScrollPosition.Append("thebody.onscroll=saveScrollPosition;")
saveScrollPosition.Append("</script>")

RegisterStartupScript("saveScroll", saveScrollPosition.ToString())

If (Page.IsPostBack = True) Then

setScrollPosition.Append("<script language='javascript'>")
setScrollPosition.Append("function setScrollPosition() {")
setScrollPosition.Append(" thebody.scrollTop = " & Request("__SCROLLPOS") & ";")
setScrollPosition.Append("}")
setScrollPosition.Append("thebody.onload=setScrollPosition;")
setScrollPosition.Append("</script>")
RegisterStartupScript("setScroll", setScrollPosition.ToString())

End If

End Sub

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
RetainScrollPosition()
End Sub

3. DataList使用不同风格的模板

  这招也非常实用,你可以制作两个不同的模板或表现形式,分别以.ascx控件的形式保存,运行时根据某个条件动态的选择使用其中的一个模板,另外ScottGu认为ItemDataBound方法也可以定制你显示的表现,比如加亮某个元素或是加一个促销广告图等等。

Dim theme As String
theme = DropDownList1.SelectedValue

DataList1.ItemTemplate = Page.LoadTemplate(theme & ".ascx") ---Cool
DataList1.DataSource = DS
DataList1.DataBind()

  4. 设置服务器端控件的焦点

Private Sub SetFocus(ByVal controlToFocus As Control)
Dim scriptFunction As New StringBuilder
Dim scriptClientId As String

scriptClientId = controlToFocus.ClientID
scriptFunction.Append("<script language='javascript'>")
scriptFunction.Append("document.getElementById('" & scriptClientId & "').focus();")
scriptFunction.Append("</script>")
RegisterStartupScript("focus", scriptFunction.ToString())
End Sub

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If (Page.IsPostBack = False) Then
SetFocus(TextBox1)
End If
End Sub

  5. 滚动DataGrid

  这招就更简单了,有时候你的页面只有一个固定的地方,但是需要显示非常多的数据,亦或是也不定,但是只有固定的一个地方给你显示它了。这时你就可以用下面这招,自动出滚动条,而且适用许多控件。很简单将你的控件放在一个DIV中将overflow属性设置成auto

<div style=“height:400px;width:200px;overflow:auto”>
<asp:da
[1] [2] 下一页  

时间: 2024-08-30 21:05:31

七招制胜ASP.NET应用程序开发的相关文章

MSDN Webcast:ASP.NET MVC2程序开发入门到精通系列课程

课程讲师:苏鹏 MSDN特邀讲师北京工业大学软件工程硕士,微软最有价值专家(ASP.NET MVP),微软MSDN特约讲师.曾于微软亚洲工程院MSN组工作,现任中国网通四分公司技术支持与项目部开发经理.具有多年电信系统与OA系统实施经验. 课程下载: ASP.NET MVC2程序开发入门到精通系列课程(1):MVC架构概述 ASP.NET MVC2程序开发入门到精通系列课程(2):MVC范例分享 ASP.NET MVC2程序开发入门到精通系列课程(3):MVC中的View实现技巧(上) ASP.

一起谈.NET技术,MSDN Webcast:ASP.NET MVC2程序开发入门到精通系列课程

课程讲师:苏鹏 MSDN特邀讲师北京工业大学软件工程硕士,微软最有价值专家(ASP.NET MVP),微软MSDN特约讲师.曾于微软亚洲工程院MSN组工作,现任中国网通四分公司技术支持与项目部开发经理.具有多年电信系统与OA系统实施经验. 课程下载: ASP.NET MVC2程序开发入门到精通系列课程(1):MVC架构概述 ASP.NET MVC2程序开发入门到精通系列课程(2):MVC范例分享 ASP.NET MVC2程序开发入门到精通系列课程(3):MVC中的View实现技巧(上) ASP.

ASP.NET应用程序开发七大技巧

asp.net|程序|技巧     随着微软.NET的流行,ASP.NET越来越为广大开发人员所接受.作为ASP.NET的开发人员,我们不仅需要掌握其基本的原理,更要多多实践,从实践中获取真正的开发本领.在我们的实际开发中,往往基本的原理满足不了开发需求,我们更多的要积累一些开发技巧,本文就向大家介绍一些实用技巧,希望对大家的开发有所裨益. 1. ~ 的用法 一般的情况下,我们是使用./../ 这样的相对路径来确定和规划我们的资源(比如图片.资源文件),但这种方式下在我们部署应用的时候,可能会出

asp.net web 应用程序 开发的项目中如何开发wap网页啊!在线等。。。。。

问题描述 "asp.netweb应用程序"开发的项目中如何开发wap网页啊!只有在用"asp.net网站"开发的项目中才看到有:添加新项>>移动wap窗体 解决方案 解决方案二:移动wap窗体又不好用....解决方案三:我不管他好不好用,可以就行!!解决方案四:1.1的话直接写WML就成了2.0的话差不多写成HTML不要用带JS的控件就成了~不懂非要用微软的那个什么移动窗体做什么...VS2008都放弃了的东西...解决方案五:就像做web网站一样做移动

构建安全 ASP.NET 应用程序的简介

asp.net|安全|程序 在本章中 构建安全的分布式Web应用程序是一项极具挑战性的任务.用户应用程序的安全程度受应用程序中最薄弱环节的制约,而分布式应用程序会拥有许多环节.用户必须具备行之有效的知识,掌握多种产品和技术,令一个分布式应用程序的所有组成部分能够以某种安全方式进行联合工作. 本章描述了构建安全的分布式Web应用程序的基础知识:authentication, authorization, and secure communications.身份验证.授权和安全通信.本章还介绍了一组

在ASP.NET 2.0开发中实现站点地图的本地化

本文中,我们首先简要地介绍了ASP.NET 2.0提供的新的站点导航机制,并注意到这个新的导航功能的核心是通过XML文件来详细描述网站的导航框架.显然,这种新导航机制的强大功能可以大大节省程序员的编码时间.接下来,我们通过一个简单的例子分析了本地化Web.sitemap的一般思路. 一.基于XML的站点地图 以前在Web应用程序中建立导航的方法是在页面上散布大量的超级链接.但当开发大型Web工程时,这种简单而原始的方法显得极为臃肿而且力不从心.为此,ASP.NET 2.0引入了一个新的导航系统来

[热招]91caigou网现热招asp.net(C#)程序员,待遇从优

问题描述 [热招]91caigou网现热招asp.net(C#)程序员,待遇从优在北京上地信息路上班,要求有开发经验,最好是有B2B电子商务从事经验,能长期合作,待遇面议.双休!有意者请将简历发送至:deamonchan@126.com 解决方案 解决方案二:难道也在科实大厦?解决方案三:面议是多少?禁止出现"面议"字样解决方案四:up解决方案五:三无解决方案六:............解决方案七:4k-5k之间,视能力而定!解决方案八:jf解决方案九:引用6楼deamonchan的回

程序开发-请教关于asp.net的问题

问题描述 请教关于asp.net的问题 asp.net做的是前端(就是像htmlcssjavascript那样的)还是做的是后端(像java的web程序开发,像jspservelet三大框架那样的)? 还有就是,对应于java的web程序开发,.net的wen程序开发要使用到那些技术?asp.met是不是?还有wcfwf那些又是些什么? 自己查资料,太文绉绉,看不太明白,求大神解释一下 解决方案 asp.net毫无疑问是后端的技术.wcf是用来做网络通讯和远程调用的框架,wf是工作流框架. 解决

ASP 应用程序开发原则指南

简介 "Active Server Page (ASP)"应用程序的成功常常取决于对体系结构和设计这两方面的取舍.考虑到 ASP 技术的范围之广和当前应用程序固有的复杂性,这种取舍是非常困难的.本文中,我将为您提供一些特定的指导方针,以助您成功开发基于 ASP 的应用程序. 我已将指导方针整理成一组开发原则.在评估解决方案和技术时,可以应用以下原则帮助您做出决策.以下原则是我长期以来从成功的开发模式所得的经验积累. 原则 1:采用标准方法 建立命名约定并使目录结构标准化,可以帮助您大大