aspx页面javascript的几个trick

1、一般而言,如果想给aspx页面上的web form control加上一些javascript的特性,可以用Attributes.Add来实现。
  例如,对TextBox txt,可以:
txt.Attributes.Add("onclick", "fcn0();");
  那么,在web页面上click它的时候,就会调用fcn0这个javascript函数。
1.1、例外的情况是,对于IDE无法辨认的属性的解析。
  比如对一个RadioButton rbt,IDE不能辨认onclick这个属性,那么,类似上面的语句,
rbt.Attributes.Add("onclick", "fcn1(this);");
在.net framework 1.1中,将解析成
<input type=radio id=rbt onclick="fcn1(this);">...
而在在.net framework 1.0中,将解析成
<span onclick="fcn1(this);"><input type=radio id=rbt>...</span>
注意到,fcn1中,参数this对应的对象就不同了。这是一个细微的差别。
2、而对于HTML control,需要多做一点事情。
  在设计aspx页面的时候,从工具栏拖一个web form control,比如说,TextBox到页面,会发生两件事:
    一、aspx页面多一句
<asp:TextBox id="TextBox1" style="..." runat="server" Width="102px" Height="25px"></asp:TextBox>
    二、code behind多一句
protected System.Web.UI.WebControls.TextBox TextBox1;
  如果是html control,那么,第一句中,runat="server"不会出现,而第二局不会被自动添加。
  因此,如果要访问html control,需要
    一、aspx页面的语句中添加runat="server"属性,成为
<INPUT style="..." type="text" size="9" id="htxt" runat="server">
    二、code behind中显示的声明
protected System.Web.UI.HtmlControls.HtmlInputText htxt;
  注意到第一句的id和第二句的变量名是相同的。
2.1、注意到,前面System.Web.UI.WebControls.TextBox对应的html control是System.Web.UI.HtmlControls.HtmlInputText,对应的html的tag是<INPUT type="text">,
相应的,html的tag <body>对应的html control是
public System.Web.UI.HtmlControls.HtmlGenericControl myBody;

时间: 2024-10-28 10:14:58

aspx页面javascript的几个trick的相关文章

aspx页面&amp;#106avascript的几个trick

页面 1.一般而言,如果想给aspx页面上的web form control加上一些javascript的特性,可以用Attributes.Add来实现. 例如,对TextBox txt,可以:txt.Attributes.Add("onclick", "fcn0();"); 那么,在web页面上click它的时候,就会调用fcn0这个javascript函数. 1.1.例外的情况是,对于IDE无法辨认的属性的解析. 比如对一个RadioButton rbt,IDE

分享:aspx页面&amp;#106avascript的几个trick

页面 1.一般而言,如果想给aspx页面上的web form control加上一些javascript的特性,可以用Attributes.Add来实现. 例如,对TextBox txt,可以:txt.Attributes.Add("onclick", "fcn0();"); 那么,在web页面上click它的时候,就会调用fcn0这个javascript函数. 1.1.例外的情况是,对于IDE无法辨认的属性的解析. 比如对一个RadioButton rbt,IDE

用javascript的ShowModalDialog()函数去显示一个aspx页面时缓存的问题

javascript|函数|缓存|问题|显示|页面 用javascript的ShowModalDialog()函数去显示一个aspx页面时,存在缓存的问题,第一次ShowModalDialog的时候看到的是正常的内容,而第二次开始看到的页面内容则都是第一次看的内容,也就是说页面是直接从缓存里面得到的,而不是去服务器取,而我的程序里面都没有让这个页面永远的缓存 两个解决办法: 方法一:先写一个htm页面,里面嵌套一个iframe,iframe的src就是aspx页面,然后ShowModalDial

.js文件中的 javascript 无法在aspx页面中调用

问题描述 同样的代码,放在live的服务器上本机访问没有问题,javascript运行很正常(debugjavascript的选项已经打开),但是在local运行的时候出现很多objectexpected的问题,其中包括1.无法调用写在.js文件里的function2..js文件中无法调用写在aspx里的javascriptfunction3.在调试的时候会在aspx页面看到很多奇怪的字符,但是结束调试之后这些只是空格而已.想请问一下会什么会有这样的问题?放到测试和正式的服务器上都是很正常的,但

Ajax.Net的onLoading及aspx页面的默认名字空间及ajaxpro的google组怎么没有一个chinese?

ajax|google|loading|名字空间|页面 这是ajax.net作者做的onLoading demo.下载他的代码来看,有几点疑问:1,如果一个aspx页面没有后置代码cs类文件,或者在vs2005中没有给他手动加上名字空间,那么aspx的默认的名字空间是什么呢?难道是ASP??我想大家可能都没有注意到这个问题吧.请教吴旗娃师傅,他立即Response.Write(this.GetType().ToString())告诉我了结果,千真万确是ASP:2,如果一个类中包含了Ajax.Ne

用&amp;#106avascript的ShowModalDialog()函数去显示一个aspx页面时缓存的问题

函数|缓存|问题|显示|页面 用javascript的ShowModalDialog()函数去显示一个aspx页面时,存在缓存的问题,第一次ShowModalDialog的时候看到的是正常的内容,而第二次开始看到的页面内容则都是第一次看的内容,也就是说页面是直接从缓存里面得到的,而不是去服务器取,而我的程序里面都没有让这个页面永远的缓存两个解决办法:方法一:先写一个htm页面,里面嵌套一个iframe,iframe的src就是aspx页面,然后ShowModalDialog()的页面就是这个ht

如何用请求字符串传值给用模式窗口打开的aspx页面

请求|页面|字符串|请求|字符串 模式窗口是一种方便的当前页面扩展的方式,但是aspx文件只能作为HTM文件的IFRAME才能用这种方式调用.同时,请求字符串也是一种方便常用的页面间传值的方法,那么怎么样使两者给合起来,就是实现如何用请求字符串传值给用模式窗口打开的aspx页面呢? 我们可以用JS脚本实现这种功能: 1.调用页面代码: <script language="javascript"> function GetCorrelativeItemId() { rdl =

在ASP.NET Atlas中调用Web Service—直接在ASPX页面上暴露Web Method

asp.net|web|页面 作者:Dflying Chen(http://dflying.cnblogs.com/) 前面的一系列的文章都是直接调用单独的一个Web Service,而在实际项目开发中,特别是在对现有的项目转换中,把页面中的逻辑再提取到专门的Web Service中往往会带来相当多的工作.Atlas充分考虑到了这一点,允许您将服务器端的public方法加上[WebMethod]属性以允许客户端JavaScript的直接调用. 想允许客户端直接调用定义在ASPX页面中的方法,您需

刷新aspx页面的六种方法(downmoon)

刷新|页面 刷新aspx页面的六种方法(downmoon) 第一:private void Button1_Click(object sender, System.EventArgs e)  {   Response.Redirect(Request.Url.ToString());  }第二:private void Button2_Click(object sender, System.EventArgs e)  {    Response.Write("<script languag