ASP.NET 4.0的七大新特性之"控件的ClientIDMode"
在早期的ASP.NET框架中,如果你放置一个控件在一个容器中,如GridView模板列、登录模板、其它,在运行时这些控件的ID将被替换由ASP.NET自身产生的随机唯一ID。
为开发者提供服务方访问控件的Page.FindControl("controlid")以及JavaScript中使用 的document.getElementById("controlid"),这是一个由来已久的问题。简单来说运行时生成的控件ID并不是可预见的。
但.NET开发者不久将会没有这样的困扰,但是。因为在ASP.NET 4.0中所有控件有一个属性ClientIDMode。这提供了良好的控制生成的ID的内容控制在运行时。
对ClientIDModes可用的类型有:
自动识别(AutoID) -这是相同的随机方式,因为它发生在使用ASP.NET的早期版本。
静态(Static) -控件的ID将不会改变在运行时。这是非常方便的设置如果被控制在网页上使用的容器或需要在客户端脚本访问。
可预测的(Predictable) 模式-静态模板像一个TextBox控件在GridView不会有用,因为GridView的行的重复。在这种情况下可预测的模式值是在方便的地方,开发者可以提供一个可预测ClientIDRowSuffix属性的主键的GridViewRow使用。可以预见,这将追加后缀,以独特的价值作为实际控制的ID。例如,如果实际控制TemplateColumn控件ID在是txtBox和ClientIDRowSuffix是GridViewRowIndex文本框的ID识别码,然后在运行时产生的row1将GridView1_txtBox_1上,为row2将GridView1_txtBox_2等。
继承(Inherit ) -这将继承父控件ClientIDMode值的。
在指定的页面级别上,你不必为每个控件提供ClientIDMode。
<%@ Master Language="C#" ClientIDMode="Predictable" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="MyWebApplication.SiteMaster" %>
Or it could also be provided at the application level using the web.config specification as shown below.
<system.web>
<pages clientIDMode="Predictable"></pages>
</system.web>
请注意,ClientIDMode在控制层将覆盖在页面指令和web.config上述设置中指定。
原文转自:http://www.systhinker.com/html/24/n-10324.html
相关文档:
windows xp下IIS安装后。
开始显示的错误为
无法显示 XML 页。
使用 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。
------------------------------------------------------------------------- ......
///方法
public static List<FeesItemInfo> selectAll()
{
List<FeesItemInfo> list = new List<FeesItemInfo>();
& ......
1.使用QueryString变量
QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子:
a.aspx的C#代码
private void Button1_Click(object sender, Sy ......
ASP.NET执行存储过程,并获取存储过程的返回值
一个简单例子如下:
1、创建存储过程(用于用户身份验证):
Create Procedure CheckUser
(
@userid char(20),
& ......