动态给服务器端控件增添属性
例如DropDownList服务器端控件,我们希望他在选择项改变时在客户端能调用一些事件处理程序,但是DropDownList默认是没有onchange属性的,此时我们可以调用他的Attributes.Add方法来动态添加属性: Default.aspx: Default.aspx.cs:
例如DropDownList服务器端控件,我们希望他在选择项改变时在客户端能调用一些事件处理程序,但是DropDownList默认是没有onchange属性的,此时我们可以调用他的Attributes.Add方法来动态添加属性: Default.aspx: Default.aspx.cs:
Default.aspx: Default.aspx.cs:
准备工作: 1.登录 http://www.ajaxpro.info/ 下载AjaxPro; 2.在项目中添加对AjaxPro.2.dll的引用; 3.在Web.config中增加location节点: 使用案例: Default.aspx: Default.aspx.cs: 说明: 1.必须在Page_Load注册AjaxPro; 2.AjaxPro的方法必须在前边加,且访问级别一定要是public; 3.客户端使用"类名.方法名(参数列表,回调函数)"的形式直接调用服务器端函数;
using System; using System.Text; /// <summary> /// 中文转拼音 /// </summary> /// <remarks>使用:ChineseSpell.MakeSpellCode("木子屋", SpellOptions.EnableUnicodeLetter)</remarks> public class ChineseSpell { private static readonly string _charIndex = new string { "1", "2", "3", "4", "5", "6", "7", …
前几天有讨论过"给SQL 文本命令中的参数传值",也就是参数化查询,后来就一直在想不使用参数化查询和使用参数化查询有什么区别?如下两个例子: a.字符串拼接(不使用参数化查询) 在事件探查器中可以看到执行的SQL语句为: Select count(*) From Where Country='UK' And City='London' b.参数化查询 在事件探查器中可以看到执行的SQL语句为: exec sp_executesql N'Select count(*) From Where Country=@Country And City=@City', N'@Country nvarchar(2),@City nvarchar(6)', @Country = N'UK', @City = N'London'…
App_Code和Bin文件夹的不同之处在于Bin文件夹里面存储的是已经编译好的程序集,而App_Code存储的是源代码,默认情况下他们在动行时会被编译成单个程序集。这就会发生一个现象:由于Bin中是已经编译好的程序集,所以他们可以是由各种不同的语言编写的,而App_Code中的源代码在是运行时动态编译成单个程序集,所以你不能在App_Code中存放各种语言编写的源代码,如ClassA.vb、ClassB.cs,否则将无法编译,你会收到类似的错误信息: System.Web.HttpException: 文件“/App_Code/ClassA.vb”和“/App_Code/ClassB.cs”使用的语言不同,这是不允许的,因为它们要在一起编译。 我们并未显示的标记App_Code中的源代码是使用哪种语言编写的,那编译的时候是怎么判断的?估计是根据文件的类型(假设的),如果是.vb文件则调用Visual Basic编译器,如果是.cs文件则调用C#编译器,所以你不能在App_Code中存放多种类型的文件,否则将无法判断应用哪种类型编译器来生成单个程序集!…
我们可以使用如下语句来设置DropDownList的选择项: 上边两句只有第2句是有效的,当最后一次设置SelectedIndex值时会自动先将其他选择项取消,再重新设置选择项,所以上边语句是无错的,最终索引为2的项被选中!但使用Selected属性来设置选择项就没有那么幸运了: 程序出错:System.Web.HttpException: 不能在 DropDownList 中选择多个项。原因是通过Selected设置选择项时并不会自动先将其他选择项取消,这样会造成有多项处于选中状态,这是不允许的!所以在使用Selected来设置选择项时,在有可能会有多项被选中时应手动取消全部选择项,方法也很简单,如下边例子:
1.使用说明: 1).页面中添加本控件,假设实例名称为PageNavigator1; 2).在Page_Load加入:PageNavigator1.OnPageChange += new PageChangeHandler(PageNavigator1_PageChange); 3).在Page_Load的if (!IsPostBack){}中对控件的RecordCount、PageSize和PageIndex属性赋值,注意PageIndex的赋值应放在最后; 4).定义一个PageNavigator1_PageChange函数: protected void PageNavigator1_PageChange(object sender, int PageIndex)…
Service表: id ShortName Logo ProvinceId ----- ------ ----- ----- 36 朗成科技 110000 17 网麒科技 310000 41 道格瑞恩 310000 37 思洋(中国) 440000 38 艾迪索思互动 220000 Province表: id code name ----- ----- ----- 1 110000 北京市 2 120000 天津市 3 130000 河北省 4 140000 山西省 5 150000 内蒙古 表Service的ProvinceId字段和表Province的code字段关联,在界面上显示的时候老是用:…
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using arts; using System.Web.UI.HtmlControls; using System.Drawing; using System.Drawing.Imaging;…