在线用户    站点地图 技术论坛 文档中心 站点导航 资源下载 语言参考 教程专题 站点统计 业务项目 使用帮助
您的位置
MSDN参考新加了CSS2参考,全中文,制作精良。245k下载。           新加了sxf_sxf推荐的"动态网页专家指导" 下载!          新加了lsg2002lsg推荐的"ASP.NET高级编程(PDF)" 下载!          新加了DHTML代码预览!!,功能强大哦!欢迎试用          新加了网友lincong为大家提供的SQL Server 2000 程序员指南,有点大,但同时也就说明内容全咯!           新加了网友ibra为大家提供的北大的JAVA课件,很适合初学者入门           新加了一个java的连接缓冲池代码示例           新加了人月神话电子版下载!软件工程巨著哦~~           更新了评分标准,引入了“专家分”概念,相信可以更好的激励大家的学习!详情请看“使用帮助”           新加了由网友GGG提供的“IIS超级管理手册”,值得一看哦!(虽然我没看过 :P )           新加了“英雄榜”,欢迎测试!           “无组件上传·从原理剖析到实践”已经全部完成,源码全部开放,有兴趣的朋友请到文档中心一探究竟。  您的位置  首页>文档中心>ASP.net>文档A0000857 在同一窗口中打开页面中的链接 在新窗口中打开页面中的链接 将ASPCHINA设为首页 将ASPCHINA加入书签    
 LOGIN HERE
用户:
密码: 忘记密码
记住密码 用户注册 游客进入
相关文章

[原创]:DW+ASP.Net实战(五):留言板演示--大结局

[原创]DW+ASP.Net实战(三):数据增删改

[原创]DW+ASP.Net实战(二):数据的循环显示

[原创]DW+ASP.Net实战(一):熟悉DW开发.net

Asp.net 1.1 高级编程 [Professional ASP.NET 1.1]

一本老书:了解ASP+(asp.net的前世)

[下载] Beginning ASP.NET 1.1 (.NET 2003)

"ASP.NET高级编程(PDF)" 下载!

在ASP.NET中处理datetime的一些通用函数(VB)

关于ASP.NET在IIS一些问题的经验总结
发表文章
[原创]:DW+ASP.Net实战(四):开发中应注意的一些小技巧

作者:zidone     提交人:zidone     发布时间:04-12-09     文章类型:原创     浏览量:4750
参考链结:http://www.hotide.net/blog/show.php?id=35    
关键字:asp.net|dreamweaver
[本文档没有附件]
字体:    视力保护色: 杏仁黄  秋叶褐  胭脂红  芥末绿  天蓝  雪青  灰  银河白(默认色) [A0000857]

今天我们来讨论一下在DW开发ASP.Net中的一些小技巧和方法。
虽然我们在前三篇中已经讲一些基本的操作,但在开发过程中有很多的技巧问题应该值得我们注意,下面我们开始:
1.DataGrid中添加自动编号。
有时候我们的DataGrid列表的第一列来一个自动编号,除了读取数据库的Id字段,是否还有其他方式?答案是肯定的,我们可以通过DataGrid的ItemIndex来实现。众所周知,ItemIndex是DataGrid中记录索引号,也就是从0开始的一个数据,自然能够合理的座位每一行的编号数值,程序段如下:
<Columns> 
                  <asp:TemplateColumn HeaderText="" ItemStyle-Width="50"> 
                    <ItemTemplate> 
                        <%# Container.ItemIndex+1 %> 
                    </ItemTemplate> 
                  </asp:TemplateColumn> 
    </Column>

简单介绍一下这个代码:
A>  简单说就是DataGrid的一个模版绑定列。
B>  <%# Container.ItemIndex+1 %>就是显示的Index数据;”+1”的意思是本来ItemIndex从0开始索引,”+1”就是从1开始索引,我们得到的结果就是“1、2、3……Index”呵呵:P

2.数据的截取显示或者替换显示问题问题。
  有时候我们在数据库中的某些数据显示到叶面上时候并不是一些直接的数据:比如性别列中我们用0、1表示男女,在页面中我们必须要显示“男、女”;再比如我们的新闻列表,如果标题过长,我们向截取其中的某一部分来显示等等;当然我们可以根据自己的需要更加灵活自如的制作出自己的效果,废话少说,进入主题:
如果我们数据字段”sex”为”bool”类型,我们想显示出来“男、女”:
<%# (bool)DataSe12.FieldValue("sex", Container) ? "男" : "女" %>

说明一下,(bool)是.net中隐式转换方法;DataSet1.FieldValue("sex",Container)是DW特有的数据绑定格式;用到了三元操作符 “? :”。
如果我们只想显示新闻标题的前20个字符,可以这样做:
<%# DataSet1.FieldValue("title",Container).Length>20 ?DataSet1.FieldValue("title",Container).Substring(0,19)+"…" : DataSet1.FieldValue("title", Container)
%>

说明,同样是小技巧,用Length方法读取绑定字段的长度;用Substring()来截取字符;三元符就是用来判断字符串是否超过20字符~~

3.在ASP.Net中加入JS代码。
由于ASP.Net安全性的考虑不允许直接插入JS代码,我们需要JS时候要采用一些小技巧:
A> 页面加载时直接Alert:
if(!Page.IsStartupScriptRegistered("delAlert"))
            {
              Page.RegisterStartupScript("delAlert",@"<script language='javascript'>alert('一些文字');</script>");
            }


*说一下,这段话最好就是放在某一个过程函数中。直接放到Page_Load()事件中也是可以的,呵呵。务必要注意的就是此代码运用的时机。

B>微软通用的属性添加:
实际上.net里面有固有的属性添加方法,就是“控件.Attributes.Add(“事件”,”执行内容”)”。这一属性可以广泛地用在“删除提示”、“错误提示”、“返回提示”等多种场合。举例如下:
//Page_Load()过程中

Btn1.Attributes.Add("onclick","Javascript:alert('你单击了按钮')");

//页面文件标签

<asp:button id="Btn1" text="单击" runat="server" />

*说一下,这个属性在DataGrid和DataList、Repeater控件中同样适用!

C>单击出现Alert确定的简单方法<div>。
其实这算一个小技巧,又是一种不是方法的方法。举个例子,我们要单击Label1控件的时候出现提示“你确定吗?”应该怎么做?看代码:
//页面文件标签

<div onclick="alert('你确定么?');'>
<asp:Label id="Label1" text="测试" runat="server" />
</div>

//或者:

<div onclick="if(!confirm('你确定么?')) return false;">
<asp:Label id="Label1" text="测试" runat="server" />
</div>

*怎么样,是不是很简单,活用了 ,呵呵

D>Response.Write()中输出JS
需要用到正则匹配,就是大家知道的正则表达式拉。不好解释,举个例子算了:
// 在DW中

<%#DataSe12.FieldValue("tiltle",Container).Length>0?"<a onclick=window.open(\'a.aspx\');>"+ DataSe12.FieldValue("tiltle", Container)+"</a>" : "" %>

// 在VS.Net中

<%DataBinder.Eval(Container,"DataItem.title","<a onclick=window.open(\'a.aspx\');>{0}</a>") %>

//Response.Write()中

<%
  string text="<script language='javascript'>alert('ok!');</";
  text=text+"script>";
  Response.Write(text);
%>


4.其他一些DW中应注意的小问题:
  其实在开发DW项目的时候有很多小技巧会帮助你大大提高工作效率:
合理运用Web.Config文件。我们可以把一些常用的属性全部都配置到该文件中去,例如数据链接等,会提高效率;
合理使用DataList和DataGrid控件。由于DataList相对自由,可以自定义许多简单样式,所以列表时推荐使用DW的DataList控件。
RePeater的使用。DataGrid虽然带有分页功能但是很死板,自定义分页又很麻烦。这时候和不使用RePeater呢?DW的数据绑定中很轻松的就可以实现分页功能,而且只需要在面板中设定,并不需要些代码……
尽量少的重复打开数据链接。如果在DW中设置了数据链接。那么在页面加载前链接是打开的,数据读取完毕后DreamweaverCtrls.Dll组件将会把链接关闭;如果你为了同时实现其他的功能在Page_Load()中 或其他函数过程中再次定义数据链接,可能造成资源的浪费,但很多时候又不得不这么做……这可能就是DW的一个弊端吧……
最后一点建议,学会去学习DW自动生成的一些代码中的精华。往往DW自动生成的一些代码都是很优化、很统一格式代码,对我们的学习很有帮助,所以我建议在有时间的时候多多切换到查看源代码模式看一下DW到底生成了些什么.net程序,呵呵,相信对你有帮助的!

好了,今天就说到这里,有什么问题  欢迎在2yup.com论坛上提出,或者直接去我们的Blog: http://www.hotide.net/blog/
Mail:  zidone.net@sina.com
MSN:  zidone@msn.com
广告:  明天我们用一个完整的留言本例子,来结束我们的DW+ASP.Net开发教程~~
ReTech 小组 转载请指明出处~~

关于这篇文章的评论 [注意:这里仅仅是给大家提供了一个发表对文章本身看法的地方,如果有疑问,请到论坛提出] 我要提问!
标题
内容
发言
*您尚未以注册用户身份登录,不能发表评论。这里登录
您的位置
  (c)2000-2019 Yup Studio, all rights reserved.  
138.6719