aspnet程序设计教程(不走寻常路 设计ASP.NET应用程序的七大绝招[1])
![aspnet程序设计教程(不走寻常路 设计ASP.NET应用程序的七大绝招[1])](/static/images/content_image/elephant-4736008_1920.jpg)
本文目录
不走寻常路 设计ASP.NET应用程序的七大绝招[1]
随着微软 NET的流行 ASP NET越来越为广大开发人员所接受 作为ASP NET的开发人员 我们不仅需要掌握其基本的原理 更要多多实践 从实践中获取真正的开发本领 在我们的实际开发中 往往基本的原理满足不了开发需求 我们更多的要积累一些开发技巧 本文就向大家介绍一些实用技巧 希望对大家的开发有所裨益
~ 的用法
一般的情况下 我们是使用 / / 这样的相对路径来确定和规划我们的资源(比如图片 资源文件) 但这种方式下在我们部署应用的时候 可能会出错 另外对于 ascx的控件中如果包含了一个图片 而这个控件被我们在不同层次的两个目录的aspx文件分别引用时 问题就会出现了
~/image/about bmp 是一种非常好的方法 它以Web应用程序的根目录为起始点 这样使得比你使用 /image/about bmp这样的方式要更加灵活和方便 有一点不好 是这种方式是在ASP NET运行时动态解析的 所以在IDE设计模式中 你可能不能预览它
在刷新和提交页面后 保存你的页面滚动条的位置
经常有这样的情况 我们需要用户提交一个表单 但是表单中有超过 +个?控件或文本框要填写 也就是说用户需要拉动IE的滚动条才能够填得完 那么假如用户正在可见IE范围的 / 处 选择了一个组合框的值 很不幸组合框是服务器端的 那么也就意味着页面会提交一次 而当用户再看见刷新过的页面时 页面确定在 / 的地方也就是显示在页面最开始的地方 用户只有拖动鼠标 然后接着刚刚的地方再填写剩下的 个控件 很不幸 个控件又需要他选择一下?
用下面的方法可以很快地确定和记住你提交前的位置
网上的Old Dog Learns New Tricks也有一个类似的例子Maintain Scroll Position in any Page Element 不过他使用了Web Behavior这意味着你需要使用一个 htc文?lt;/P》
Private Sub RetainScrollPosition()
Dim saveScrollPosition As New StringBuilderDim setScrollPosition As New StringBuilder
RegisterHiddenField( __SCROLLPOS )saveScrollPosition Append( <script language= javascript > )saveScrollPosition Append( function saveScrollPosition() { )saveScrollPosition Append( document forms __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 LoadRetainScrollPosition()End Sub
DataList使用不同风格的模板
这招也非常实用 你可以制作两个不同的模板或表现形式 分别以 ascx控件的形式保存 运行时根据某个条件动态的选择使用其中的一个模板 另外ScottGu认为ItemDataBound方法也可以定制你显示的表现 比如加亮某个元素或是加一个促销广告图等等
Dim theme As Stringtheme = DropDownList SelectedValue
DataList ItemTemplate = Page LoadTemplate(theme & ascx ) CoolDataList DataSource = DSDataList DataBind()
设置服务器端控件的焦点
Private Sub SetFocus(ByVal controlToFocus As Control)Dim scriptFunction As New StringBuilderDim scriptClientId As String
scriptClientId = controlToFocus ClientIDscriptFunction 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 LoadIf (Page IsPostBack = False) ThenSetFocus(TextBox )End IfEnd Sub
lishixinzhi/Article/program/net/201311/15143C#中用ASP.net怎么来设计网页的页面
楼主的问题牵连到的面太大,并非几句话解释得清楚。这甚至是软件设计里面单独的一门学科。
我先从理论上给你解释一下大体框架吧,不用专业术语的话我想代码也就不用举例了吧,那么具体的实践操作还需楼主花费一些时间和精力才可以搞定。
首先,你明白“前后台”的概念,很好,这里就不必过多解释。
1、基于ASP.NET的应用程序设计,前台可以用VS工具直接做,就是往上拖控件,别嫌弃丑,你先把需要的按钮、放图片的位置、显示网页信息的位置等先拖控件上去,比如常用的Button、GridView、Image、Repeater等控件。这就是页面前台的布局,这种页面上就是广大用户能看到的、能操作的页面;比如百度首页的“百度一下”按钮,点击可以查询出相关内容;
2、数据库的连接在Web.Config文件中可以建立DB连接字符串,很简单。这里通常连接SQL Server 数据库,Access数据库均可;
3、后台说白了就是对DB进行增、删、改、查操作的页面。比如百度上的新闻,这是通过网站后台进行上传的;这个操作仅仅是和数据库之间的交互,初学者你就记得这一块与前台无关即可;页面的设计跟前台相似;
4、美化方面你可以用CSS技术来做,不难。不用的话也可以,用VS母版页来做也可以做的不错;关键是软件的功能,如果是网站的话,个人建议前台最好用CSS来美化,否则看起来别扭,网页嘛,重在美工,功能其实不难;
至于前台具体功能的实现,建议你可以到网上搜索一下软件源码,用一个模板来做,这样便于学习,也能提高做毕业设计的效率,当然这要看个人的基础如何了。
就说这些吧,过年在家抽出忙家务的时间来手工打了一段字 呵呵~ 难免有不足之处 希望对你用帮助。
仅供参考,祝你新年快乐! Rock.
![aspnet程序设计教程(不走寻常路 设计ASP.NET应用程序的七大绝招[1])](/static/images/content_image/living-room-581073_1920.jpg)
更多文章:
全球新冠肺炎疫情背景下航运发展(盐田港复苏日志:半年历劫从“低谷”到“爆仓” 疫情之后巨轮如何越洋航行)
2026年9月7日 17:10
matlab求解带字母参数方程组(我想matlab求一个关于x,y的方程组 ab c d f e h m n 都是参数)
2026年9月7日 16:30
oracle中的循环语句(下面哪个不是oracle程序设计中的循环语句 a for)
2026年9月7日 15:30
电脑里2个系统怎么删除一个(电脑开机显示有两个系统,如何删除一个)
2026年9月7日 12:20
scrollthrough意思(“scroll”是什么意思)
2026年9月7日 08:00
怎么激活keygen(注册机如何激活cad2008一个简单激活cad2008的方法)
2026年9月7日 06:30
vba编写excel插件(excel vba中能否动态创建控件)
2026年9月7日 04:40




