chao 的个人资料清凉水都照片日志列表更多 ![]() | 帮助 |
|
|
9月17日 得GridView的EmptyDataTemplate中的控件 - kingwkb的专栏 - CSDNBlog
9月22日 ASP.NET页面间传递参数的方法好久没编程序了,看见许多人在网上找页面间传参的方式,就简单的写点,也算留个备份。 主要来将有两种:Get与Post,至于两者的区别,还是自己找相关的资料吧,多的很,这里具体讲下操作。在ASP.Net中,获取参数一般都是在Page_Load的时候,当然你也可以在其他的地方调用,看情况而定。先拿Get来说,传入的URL是 ~\food_info.aspx?food_id={0}
那么对应的接受方法为 Request.QueryString.GetValues("food_id").GetValue(0)
剩下的工作就是对接受的数据进行转换了,如果你有好几个food_id的值的话,更改GetValue中的数字就可以了。 不过这种参数传递安全性是个问题,毕竟参数公开了,即使加密也不安全。所以就要利用到Post的方法,在发送页面中可以用Form的Action属性设置传入页面,也可用每个控件的PostBackUrl来配置,发送后,就是接受了,这个要实现的判断一下,下面结合代码说明。 if (Page.PreviousPage != null) { Response.Write(Page.PreviousPage.Form.Method.ToString()+"<br/>"); Label lab2 = (Label)Page.PreviousPage.FindControl("lab1"); Response.Write(lab2.Text.ToString()); } 首先判断一下是否有传入页面,判断Page.PreviousPage是否为空,不为空在做相应的事情,聪明的你应该想到了,如果判断一下是来自哪个页面的不更好,的确,可以实现一些更复杂的功能,不过也相应的加大了服务器的负担,要根据实际的业务流程来看。下面就是两种获取方法了,可以从Form中获取,也可以直接获取控件的名称,注意这里要类型转换,所以要记住类型。如果是纯控件设计,就直接找控件好了,如果不行就用Form的方法了,根据个人喜好了。 好了就简单的介绍了一下,如果还有什么问题,留言给我,大家讨论才有趣嘛!!! 7月1日 使用ASP.NET AJAX JavaScript Class Browser查看客户端类型本文来自《ASP.NET AJAX程序设计 第II卷:客户端Microsoft AJAX Library相关》的附录A。
ASP.NET AJAX提供了丰富的客户端JavaScript类型,不过其文档尚不够完善,未能覆盖到类库中所有的类型。幸运的是,Eilon Lipton给我们带来了一个非常好用的工具——ASP.NET AJAX JavaScript Class Browser,用来辅助查看ASP.NET AJAX各个客户端类型的属性、方法和事件。 该ASP.NET AJAX JavaScript Class Browser可以在Eilon Lipton的Blog(http://weblogs.asp.net/leftslipper/)中下载,其本身就是一个用ASP.NET AJAX编写的Web站点。 首先将下载的压缩包解压至某一目录中。为了可以查看到ASP.NET AJAX Futures CTP脚本中所包含的类型,我们随后要将Microsoft.Web.Preview.dll,即ASP.NET AJAX Futures CTP的程序集拷贝到该Web站点的bin\目录中。 打开该Web站点中的ClassBrowser.master文件,在其ScriptManager中添加相应的ASP.NET AJAX Futures CTP中各个脚本的引用。如下粗体部分所示: <asp:ScriptManager runat="server" ID="ScriptManager1" EnablePartialRendering="false"> <Scripts> <asp:ScriptReference Name="MicrosoftAjaxWebForms.js" /> <asp:ScriptReference Name="MicrosoftAjaxTimer.js" /> <asp:ScriptReference Name="PreviewScript.js" Assembly="Microsoft.Web.Preview" /> <asp:ScriptReference Name="PreviewGlitz.js" Assembly="Microsoft.Web.Preview" /> <asp:ScriptReference Name="PreviewDragDrop.js" Assembly="Microsoft.Web.Preview" /> <asp:ScriptReference Name="PreviewWebParts.js" Assembly="Microsoft.Web.Preview" /> <asp:ScriptReference Path="ScriptLibrary/AjaxClassBrowser.Reflection.js" /> <asp:ScriptReference Path="ScriptLibrary/AjaxClassBrowser.ClassWriter.js" /> </Scripts> </asp:ScriptManager> 这样即完成了ASP.NET AJAX JavaScript Class Browser的配置。运行该Web站点,可以看到页面左边的导航树按照命名空间对客户端类型进行了归类。展开某个命名空间并选择其中的某个类型,页面右侧将以类似C#语法的方式显示出该客户端类型的原型声明,包括类型的继承关系、实现接口及其属性、方法和事件等。如图A-1所示。
图A-1 ASP.NET AJAX JavaScript Class Browser的界面 如果需要的话,我们也可以将自定义的ASP.NET AJAX客户端类型添加到ClassBrowser.master文件的ScriptManager中。随后即可在ASP.NET AJAX JavaScript Class Browser界面中浏览该自定义类型——和ASP.NET AJAX内建的客户端类型没什么区别。 本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利 posted on 2007-06-27 09:13 Dflying Chen 阅读(397) 评论(8) 编辑 收藏 引用 网摘 所属分类: ASP.NET AJAX (Atlas) This posting is provided "AS IS" with no warranties, and confers no rights. 3月15日 Xml编程要注意的地方 最近使用了不少Xml的程序设计,其中的莫名的错误真是多,MSDN上的信息也不能保证完全正确。经过一个晚上的尝试,发现了一个规律,那就大小写的问题,比如Remoting里的设置信道要用到Uri,中文MSDN中写的是Url,英文的没错;书上写的是URI,大小写错了也无法通过,看来还真是有不少人犯这个种低级错误。特别是有的书中把Debug写为debug,连调试都取消了,更没的改正了。
所以,以后遇到上面的错误,先看看MSDN,中英文都要看,再试试改大小写,一般都是单词的首字幕加大。例如:WorldWorld。还有就是问问高人了,感觉就这些办法了。 11月6日 Report子表与钻取开发注意最近使用Report的子表功能,可一直无法显示,看完MSDN再到网上下代码,还是改不过来,后来经尝试(总时间累计10小时)终于发现问题得以解决,希望能为和我有同样问题的朋友帮上点忙
设定好参数后,要对ReportViewer的本地报表变化进行事件订阅(LocalReport.SubProccesing)
this.rptMain.LocalReport.SubreportProcessing += new Microsoft.Reporting.WinForms.SubreportProcessingEventHandler(SubReportProcessingEventHandler);
private void SubReportProcessingEventHandler(object sender, Microsoft.Reporting.WinForms.SubreportProcessingEventArgs e)
{ e.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("DataOrder_订单明细", this.dsOrders.Tables["OrderDetails"])); } 注意ReportDataSource( string SourceName,object DataSource.Value)中的“SourceName”要与报表文件.rdlc中的数据集绑定的名称相同,否则是新建一个表与先前的数据相关项无关,换句话说就是你新建了一个Table,所以这里要传入你想填充的数据就要写对名称,如果不知道可在报表设计模式下的“报表”菜单下的数据源中查看表名称,使惯了平时的ADO.NET的要注意了,你可能就犯了这个错误,这次不会智能的给你实例表格的,别忘了你加了new关键字,所以以后大家看家new就要注意名称了。
否则,将会出示子表无法显示的问题,其原因就是数据表没有实例化,不过这里不会显示这个错误信息,而是“错误:子表不能正确显示”,大家就要注意了,看看是否是这个原因。
最后要说的是,报表的相关设置都在“报表”菜单中,自己看就行了。
还有报表中的语言是VB语言,有时间也学学吧,反正其他的水晶报表也用的上,钻取就Drillthrough
void DemoDrillthroughEventHandler(object sender, DrillthroughEventArgs e) { LocalReport localReport = (LocalReport)e.Report; localReport.DataSources.Add(new ReportDataSource("Employees", LoadEmployeesData())); } |
|
|