在ASP.NET 2.0中,引入了MasterPage的机制,在当前页使用MasterPage的情况下,放在 ContentPlaceholder1这样的内容页的控件无法用Page.FindControl...来查找,原因何在?.../Articles/116.aspx FindControl方法是在当前naming container查找指定ControlID对应的控件,该naming container是一个实现了INamingContainer...可以在该页的页指令中添加 Trace=Ture 指令来跟踪页面输出查看控件树。...很多时候,因为是动态控件,明知道是在同一个naming container中,但不知道该naming container是什么对象,一个控件要找到另一个控件,可以用this.Parent.FindControl
先进入模板编辑模式,选择【PagerTemplate】,添加自己所需的导航控件 ?...列入这样的,上一页和下一页和GO使用【LinkButton】,也可使用其他的控件,【注:LinkButton 在编译后是HTML的a标签】, ?...这里的页数使用ViewState[]存储,因为,在点击控件后,会进行一个提交,控件默认submit的,提交后的变量值都会被清空,而ViewState可以存储我们的变量值。...现在,我们试着将上一页和下一页的功能完善,在首页和上下页等控件上加上:onClick="Page_OnClick"(这里一定要加),然后CommandArgument="Next",在Page_OnClick...事件中,我们来判断CommandArgument的值,PageIndex是当前页面,PageCount是总页码,当点击页面上的上一页或下一页,就会进入这个方法,然后页面加或减,再绑定数据, protected
, 生成数据源需要利用 ADO.NET 中的数据提供者对象包括IDbConnection、IDbCommand、IDbDataParameter等,如何使用这些对象请参考我的文章: 《C#实现 IDbConnection...BaseDataList 类控件上,其参数说明如下表: 序号 参数名 类型 说明 1 DbServerType string 目前支持 "oracle"、 "dm8",其它字符串均视为 MS SQL Server...,nav2 表示上一页,nav3表示下一页,nav4表示最后一页 5 dbgrid System.Web.UI.WebControls....BaseDataList 用于捆绑 BaseDataList 的控件,如DataGrid 6 DisplayFieldList string 用于捆绑到 BaseDataList 的控件上的字段列表,以逗号进行分隔...ID在Page页面的查找 ,及对基类的一些属性如Text进行设置,因此设计了一个 ObjectEx 类,实现一些控件的查找和设置方法,该类设计如下: 序号 成员 类型 说明 1 public System.Web.UI.HtmlControls.HtmlForm
关于数据返写 数据感应也即数据捆绑,是一种动态的,Web控件与数据源之间的交互,数据返写 ,是指将查询出来的数据,通过可显示数据的UI控件进行数据输出,如查询详情页,见下图: 如图其中放置了一些标签(Label...本文将介绍如何中通过 C# 实现查询并返写数据到服务器UI控件上。...ID进行匹配,查找匹配成功则根据控件的数据呈现属性进行赋值,其参数设置见下表: 序号 参数名 类型 说明 1 HasTitle bool 数据集是否包含列名,如果包含则数据输出从第2行开始 2 VerticalQueryMode...FindControlEx 实现了对 FindControl 方法的扩充,如果查找不成功可试图查找是否有母版页,如果存在,则根据母版页模式继续查找。...FindControlEx 方法 FindControlEx 通过传递要查找的服务器容器控件和ID参数,以返回查找到的控件,代码如下: public Control FindControlEx(Control
VS2008(C#)子页嵌套母版页的控件访问方法(三)——嵌套三层母版页的子页 子页嵌套了三层母版页后,依次访问第一层、第二层、第三层母版页控件的实现方法如下: 第一层母版页HTML代码 的控件(此时已为第二层) ContentPlaceHolder cpMaster1 = (ContentPlaceHolder)Master.Master.Master.FindControl...,来访问其中的控件(此时已为第二层) ContentPlaceHolder cpMaster1 = (ContentPlaceHolder)Master.Master.Master.FindControl...,来访问其中的控件(此时已为第二层) ContentPlaceHolder cpMaster1 = (ContentPlaceHolder)Master.Master.Master.FindControl..."); mLabel.Text = "母版页1(Label)"; } } 源代码下载: VS2008(C#)中的ASP.NET子页嵌套多层母版页的控件访问方法
DataGrid和CheckBox的组合使用做一个简单的描述.我们可能在写程序的时候都遇到这种情况:需要选择一个列表的所有项或者取消所有项的选择来删除这些列以及如何给用户一个提示信息是否要删除(改功能我在相关文档里描述过了...使用一个页面的CheckBox来完成这项艰巨的任务(夸张了),由于这个方法非常简单所以我也就不写代码只是做一个简单的描述就可以了.我们在我们页面上的DataGrid的上面或者下面放置一个CheckBox...依然是使用服务器的事件来完成我们的工作,这次有些不同我们将这个CheckBox放到DataGrid中对应CheckBox的列的页眉上(header).我们给这个模板列的题头上添加一个CheckBox控件利用它来完成和...1中相同的工作,只是过程稍微有些不同.首先我们需要一个DataGrid来表现我们的程序,该DataGrid在Html页上的代码如下: <asp:datagrid id="grdServer" runat...Forms里面所有的元素 for (i=0; i<thisfrm.length; i++) { // 查找模板头中的CheckBox if (idVal.indexOf ('chkAll')
VS2008(C#)子页嵌套母版页的控件访问方法(二)——嵌套两层母板页 子页嵌套了两层母版页后,访问第一层、第二层母版页中控件的方法如下 第一层母版页HTML代码 的控件(此时已为第二层) ContentPlaceHolder cpMaster1 = (ContentPlaceHolder)Master.Master.FindControl...e) { //从第二层得到第一层的ContentPlaceHolder,来访问其中的控件(此时已为第二层) ContentPlaceHolder cpMaster1...)cpMaster1.FindControl("Master2_Label"); m2Label.Text = "母版页2(Label)"; } //访问第一层母板控件..."); mLabel.Text = "母版页1(Label)"; } } 源代码下载: VS2008(C#)中的ASP.NET子页嵌套多层母版页的控件访问方法
问题点描述: 我新建一个线程,并在这个线程中,把某个控件的父级去掉或者更改,导致报这个异常 网上的解析如下: “Windows 窗体”使用单线程单元 (STA) 模型,因为“Windows 窗体...STA 模型意味着可以在任何线程上创建窗口,但窗口一旦创建后就不能切换线程,并且对它的所有函数调用都必须在其创建线程上发生。...除了 Windows 窗体之外,.NET Framework 中的类使用自由线程模型。有关 .NET Framework 中的线程的信息,请参见线程处理。...STA 模型要求需从控件的非创建线程调用的控件上的任何方法必须被封送到(在其上执行)该控件的创建线程。...如果您在控件中为大量占用资源的任务使用多线程,则用户界面可以在背景线程上执行一个大量占用资源的计算的同时保持可响应。 用人话描述为:控件是属于主线程(UI线程),不可以跨线程修改其父级。
关于属性统一设置 数据感应也即数据捆绑,是一种动态的,Web控件与数据源之间的交互,属性统一设置 ,是指业务规则,通过配置数据,统一对数据控件的属性进行赋值,以达到灵活应用的目的。...(1)2个值的情况,指要赋值控件的前缀,后面为属性名称,如 new string[] { "x_", "onclick" } 表示为按主控件名+x_前缀名进行查找,并赋予 onclick 属性(值 根据数据配置表进行设置...FindControlEx 实现了对 FindControl 方法的扩充,如果查找不成功可试图查找是否有母版页,如果存在,则根据母版页模式继续查找。...FindControlEx 方法 FindControlEx 通过传递要查找的服务器容器控件和ID参数,以返回查找到的控件,代码如下: public Control FindControlEx(Control...以上就是关于控件属性统一设置的介绍,我们可以根据自己的实际需要进行改造和功能扩充,本示例代码仅供您参考。 感谢您的阅读,希望本文能够对您有所帮助。
一般来说每个页面上面都有一个返回按钮,用来返回上一页,代码如下: 上面的代码其实就可以满足我们返回上一页面的需求...,但是如果我们是从别的地方打开此链接的时候事实上是没有上一页的,为了提升用户的体验,我们可以使用js来控制当我们点击返回按钮时所进行的操作,关键代码如下: if (document.referrer =...== '') { $('.jsBack').attr('href', '/'); } 上面的意思是当我们点击的时候进行判断,如果document.referrer为空字符串,它就会返回首页,这样对用户的体验来说也比较好...referrer:referrer 属性可返回载入当前文档的文档的 URL,其实就是上一个页面。
如:UpdatePanel控件的嵌套、在母版页中使用UpdatePanel、在用户控件中使用UpdatePanel以及在GridView中使用UpdatePanel等。...,触发源指定为Button1控件的Click事件上。...四、母版页中使用UpdatePanel控件 如果将ScriptManager控件添加在母版页上的话,那么各内容页面就没必要再添加ScriptManager控件了,只需添加UpdatePanel...如果ScriptManager控件没有添加在母版页上的话,那只能把ScriptManager控件添加在其中一个内容页面里。不要向每一个内容页面中添加ScriptManager控件。...其控件的回发与更新规律与使用方式与母版页一样。 自己查看资料然后总结,若发现不足之处,还请斧正,本人将非常感谢,希望共同学习,共同进步,谢谢。。。
VS2008(C#)子页嵌套母版页的控件访问方法(一)——嵌套一层母版页 嵌套一层母版页后,子页访问母版页的方法 母版页HTML代码(后台无需CS代码) 页1" onclick="Button1_Click" /> 页1注销母页1" ...Label mLabel = (Label)Master.FindControl("Master_Label"); mLabel.Text = "子页 - 访问母版页"; } ...= (Label)Master.FindControl("Master_Label"); mLabel.Text = "母版页(Label)"; } } 具体源代码下载: VS2008...(C#)中的ASP.NET子页嵌套多层母版页的控件访问方法
,本文和后面的另一篇GridView实战二:使用ObjectDataSource数据源控件均是这段时间的一些总结。 ...;因为使用了验证控件,所以把取消按钮(操作不验证合法性)设为不触发验证。 4.分页功能:本例是将分页功能放置到gridview的PagerTemplate中实现。...禁用时就是控件初始化时的selectedIndex或第一个选项。...而使用ObejctDataSource来绑定就可以解决从数据库读取全部数据的问题,并且附带数据缓存(应用程序级缓存)的功能,省心多了。...关于ObjectDataSource配合GridView的使用将在《GridView实战二:使用ObjectDataSource数据源控件》讲述。
,所以Name在编辑状态时使用来实现双向通讯的绑定 2.因为没有添加的功能,所以用了asp:CommandField来实现编辑、删除等按钮的功能。...3.排序功能上只要在ods上设定SortParameterName,它的值就是SelectMethod中关于排序的参数的名称,然后设定GridView的AllowSorting为true就ok了。...排序按钮上依然用到GridView内置的CommandName——Sort,然后CommandArgument设为要排序的字段名,至于排序的方向由ObjectDataSource负责,省心多了。...上,因为启用分页和排序功能,所以参数数组中必须有maximumRows(每页记录数), startRowIndex(当前页首条记录在整个数据集中的索引), sortExpression(排序表达式,首次加载页面时为空字符串...对于该问题目前还没找到解决的方法,望大哥们来告诉我啦^_^ 好消息:对于上面的问题终于找到了解决方法,就是自定义一个缓存层而不使用ods附带的缓存功能。
由于GridView的分页功能实在是太弱了,所以需要使用强大的AspNetPager来作为分页控件。...最简单的办法就是GridView控件下面接着放一个AspNetPager控件,但是这样好像就不能用GridView的分页功能了。在数据量不大的情况下,使用GridView的分页是十分方便有效的。...另外还有一个问题就是分页控件在GridView生成的表格的下面,而没有像GridView自带分页那样包含到表格内部,这点也不是很爽。...True"> 但是这样做要解决几个问题: (1)这个GridView每一页的行数...Bind();//GridView的数据绑定方法 Wuqi.Webdiyer.AspNetPager pager = this.GridView1.BottomPagerRow.FindControl
在C#中实现该功能有多种方法,以下是小编收集的不使用TAB键,而直接用回车键将光标转到下一个文本框的实现方法。...以下示例是在窗口显示控件中,统一为TextBox的鼠标按下KeyDown事件添加处理函数。...= textDisease.Text.Trim().Replace("\r\n", ""); } 六、在网页程序中不使用TAB键直接用回车键将光标转到下一个文本框的方法 在C#.NET中,可以使用JaveScript...的onclick事件绑定到button_click上。...在使用这个方法时,注意TextBox控件的ID的命名规则 TextBox1,TextBox2,TextBox3....和对应的客户端的ID属性。
namespace JYK.Controls.PageManage { /**//// /// 生成分页控件需要的SQL语句 /// ...SQL语句#region 生成任意页的SQL语句 /**//// /// 生成任意页的SQL语句的模版 /// ...SQL语句#region 生成最后一页的SQL语句 /**//// /// 最后一页的SQL语句。... myPage.Controls.Add(lc1); str.Length = 0; #endregion 上一页...#region 上一页 str.Append("<a id=\"P_Prev\" href=\""); str.Append(GetAHref(-3));
大家好,又见面了,我是你们的朋友全栈君。 在一般的网站中浏览类别的用户控件通常都位于大多数 ASP.NET 页的左边,它使用户能够按类别快速的查找产品。...最近遇到一个客户,因为在他网站上展示的产品并不多,所以要求在原有类别浏览的基础上将产品也加进去。一来更方便,二来加长了左部导航栏的长度使页面更协调。...原有的分类导航栏是由Repeater实现的,现在需要在每一个分类下加入该类的商品信息,于是我想到了在原有Repeater中嵌套Repeater。...--分类下的产品--> <td...e.Item.ItemType == ListItemType.AlternatingItem) { Repeater rptProduct = (Repeater) e.Item.FindControl
最近升级分页控件,由于原来使用的是VB.net(在VB.net里面添加一个事件是比较容易的),现在想改用C#,而原来的方法又写得比较笨拙,想换一个更简洁一点的方法,所以不得不重新认识一下事件。...我们的目的是要给自定义控件加一个事件,以便可以控制Label的Text属性。 1、内部事件。 这个好像是我起的名称,就是只在自定义控件的内部相应的事件,使用控件的页面不用相应相关的事件。...这个理论上我们要使用委托,也就是delegate,但是系统已经为我们定义好了一个(EventHandler),我们先用现成的。 ...在使用控件的网页里填写的代码 protected void EventTest1_myClick(object sender, EventArgs e) { Label...自定义控件的事件已经整理清楚了,我可以修改分页控件里的代码了,原来写的比较混乱。分页控件的下一个版本(v2.0.0.3)将增加两个事件,这样就可以向吴旗娃的分页控件那样灵活使用了。
在整个站点中应用母版页 2.动态应用母版页 void Page_PreInit (Object sender, EventArgs e) { Page.MasterPageFile...= "~/Site.master"; } 3.操作模板页中的控件(两种方式:强类型与弱类型) 强类型: . ....script> Master.TitleText = "Orders"; 弱类型: ((Label) Master.FindControl
领取专属 10元无门槛券
手把手带您无忧上云