`
happmaoo
  • 浏览: 4341193 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

《ASP.Net快速入门》学习笔记2

阅读更多

数据绑定语法

1. ASP.NET 声明性数据绑定语法使用 <%# %> 表示法。

2. 可以绑定到数据源、页或其他控件的属性、集合、表达式以及从方法调用返回的结果。

3. 语法示例

简单属性

Customer: <%# custID %>

集合

Orders: <asp:ListBox id="List1" datasource='<%# myArray %>' runat="server">

表达式

Contact: <%# ( customer.First Name + " " + customer.LastName ) %>

方法结果

Outstanding Balance: <%# GetBalance(custID) %>

4. ASP Response.Write DataBind 方法区别

ASP Response.Write 快捷方式语法在处理页时计算,而 ASP.NET 数据绑定语法仅在调用 DataBind 方法时计算。

5. DataBind 的级联

当在父控件上调用 DataBind 时,它级联到该控件的所有子控件。

例如,DataList1.DataBind() 将因此对 DataList 模板中的每一控件调用 DataBind 方法。在上调用 DataBindPage.DataBind() 或只是 DataBind()会导致计算页上的所有数据绑定表达式

6. DataBinder.Eval

A.计算后期绑定的数据绑定表达式并且可选择将结果格式化为字符串。

B.<%# DataBinder.Eval(Container.DataItem, "IntegerValue", "{0:c}") %>

CDataBinder.Eval 会对标准数据绑定语法带来很明显的性能损失,因为它使用后期绑定反射,注意这一点很重要。使用 DataBinder.Eval 时需谨慎,尤其是在不需要字符串格式化时。

7数据绑定表达式必须计算为 String 类型的值

自定义控件类的代码

using System;

using System.Web;

using System.Web.UI;

namespace SimpleControlSamples {

public class Simple : Control {

protected override void Render(HtmlTextWriter output) {

output.Write("<H2>欢迎使用控件开发!</H2>");

}

}

}

aspx页引用该自定义控件的代码

<%@ Register TagPrefix="SimpleControlSamples" Namespace="SimpleControlSamples" Assembly="SimpleControlSamples" %>

<SimpleControlSamples:Simple id="MyControl" runat=server/>

属性类似具有访问器方法的聪明字段。应该从控件公开属性而不是公开公共字段,因为属性允许数据隐藏、可以版本化并受可视化设计器的支持。属性具有设置和检索属性的 get/set 访问器方法,并允许在需要时执行附加的程序逻辑。

如果 A 类具有一个类型为 B 类的属性,则 B 的属性(如果有)称为 A 的子属性。下面的示例定义自定义控件 SimpleSubProperty,该控件具有 Format 类型的属性。Format 是具有两个基元属性的类——Color Size,这两个属性反过来成为 SimpleSubProperty 的子属性。

注意 ASP.NET 具有设置子属性的特殊语法。下面的代码示例显示如何以声明方式设置 SimpleSubProperty 上的 Format.Color Format.Size 子属性。“-”语法指示子属性。

<SimpleControlSamples:SimpleSubProperty Message="Hello There" Format-Color="red" Format-Size="3" runat=server/>

每个控件都具有从 System.Web.UI.Control 继承的 Controls 属性. 这是表示控件的子控件(如果有)的集合属性

如果控件未用 ParseChildrenAttribute 标记,或是标记为 ParseChildrenAttribute(ChildrenAsProperties = false),则当控件在页上以声明方式使用时,ASP.NET 页框架将应用以下分析逻辑。如果分析器在控件的标记内遇到嵌套控件,它将创建嵌套控件的实例并将它们添加到控件的 Controls 属性。标记之间的文本添加为 LiteralControl。任何其他嵌套元素都生成分析器错误。
:
<SimpleControlSamples:SimpleInnerContent id="MyControl" runat=server>

我的消息在控件标记内!!!!

</SimpleControlSamples:SimpleInnerContent>

以上正确

<SimpleControlSamples:SimpleInnerContent id="MyControl" runat=server>

<input type=”text” runat = server> </SimpleControlSamples:SimpleInnerContent>

以上错误,因为<input type=”text” runat = server>是一个控件,标记之间只能添加文本,要添加控件,必须设置属性ParseChildrenAttribute=true

在分析 ASP.NET 页时,样式信息被填充到 System.Web.UI.HtmlControls.HtmlControl 类上的 Style 属性(CssStyleCollection 类型)中。该属性本质上是一个词典,它将控件的样式公开为每个样式属性键值的字符串索引集合。例如,可以使用下面的代码在 HtmlInputText 服务器控件上设置并随后检索 width 样式属性。

function doClick(index, numTabs, id) { document.all("tab" + id, index).className = "tab"; for (var i=1; i < numTabs; i++) { document.all("tab" + id, (index + i) % numTabs).className = "backtab"; } document.all("code" + id, index).style.display = ""; for (var j=1; j < numTabs; j++) { document.all("code" + id, (index + j) % numTabs).style.display = "none"; } }

<script language="C#" runat="server" >

void Page_Load(Object sender, EventArgs E) {

MyText.Style["width"] = "90px";

Response.Write(MyText.Style["width"]);

}

</script>

<input type="text" id="MyText" runat="server"/>

<script language="VB" runat="server" >

Sub Page_Load(Sender As Object, E As EventArgs)

MyText.Style("width") = "90px"

Response.Write(MyText.Style("width"))

End Sub

</script>

<input type="text" id="MyText" runat="server"/>

<script language="JScript" runat="server" >

function Page_Load(sender : Object, E : EventArgs) : void {

MyText.Style("width") = "90px";

Response.Write(MyText.Style("width"));

}

</script>

<input type="text" id="MyText" runat="server"/>

<script language="C#" runat="server">

 void Page_Load(Object Src, EventArgs E ) {

 Style style = new Style();

 style.BorderColor = Color.Black;

 style.BorderStyle = BorderStyle.Dashed;

 style.BorderWidth = 1;

 MyLogin.ApplyStyle (style);

 MyPassword.ApplyStyle (style);

 MySubmit.ApplyStyle (style);

 }

</script>

Login: <ASP:TextBox id="MyLogin" runat="server" />/<p/>

Password: <ASP:TextBox id="MyPassword" TextMode="Password" runat="server" />

View: <ASP:DropDownList id="MySelect" runat="server"> ... </ASP:DropDownList>

分享到:
评论

相关推荐

    ASP.Net快速入门学习笔记

    ASP.Net快速入门学习笔记

    Asp.net core2.0快速入门笔记(又名七日速成)

    Asp.net core2.0快速入门笔记(又名七日速成),个人学习笔记,一个完整视频笔记记录

    ASP.NET Core 入门教程

    ASP.NET Core学习教程,详细学习文档,可以学习到详细的基础知识和部分的实践。

    Asp.NET Core WebAPI 入门学习笔记,超详细

    WebAPI 是一种传统的方式,用于构建和暴露 RESTUI风格的Web服务。... WebAPI使用控制器(Controllers)和动作方法(ActionMethods)的概念、通过路由配置将请求映射到相应的方法上。 开发人员可以使用各种属性和过滤器来...

    asp.net知识库

    VS2005 ASP.NET本地化学习笔记&感受 在自定义Server Control中捆绑JS文件 Step by Step 深度解析Asp.Net2.0中的Callback机制 使用 Web 标准生成 ASP.NET 2.0 Web 站点 ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf...

    ASP升级.net资料大全(c#入门 语言规范 源码教程 学习笔记 技术资料 面试题 asp与.net代码生成器)

    ASP.NET编程技术与交互式网页设计 asp.net亲密接触_带源码 C#学习 01_类.htm.txt 02_构造函数的执行序列.htm.txt 03_抽象类和接口.htm.txt 04_结构类型.htm.txt 05_类成员的定义.htm.txt 06_类成员的其他...

    ASP.NET预备知识学习笔记

    主要介绍了ASP.NET预备知识,内容很全面,几乎涵盖了asp.net预备知识点,感兴趣的小朋友可以看一看。

    MVC入门学习技术文档

    Asp.net MVC2学习笔记-简单实例

    ASP.NET-CoreAndEntityFramework-Core_Learn:从零开始学ASP.NET Core与EntityFramework Core_课程学习

    从零开始学ASP.NET Core与EntityFramework Core_课程练习笔记作者:梁桐铭-微软最杰出专家(Microsoft MVP)网址: ://www.52abp.com/yoyomooc/aspnet-core-for-beginners- [目录] 一,使用VS2019创建ASP.NET Core ...

    c#学习笔记.txt

    C#学习笔记(2)【大 中 小】【打印】【加入收藏】【关闭】 【收藏到新浪ViVi】【收藏到365KEY】 浏览字号:日期:2004-07-11 人气:8092 出处: write by cash(天下第七) 2002.01.20 版权所有,翻录不究 cashcao@...

    AspNetCore-Learning-Mvc::sun:AspNetCore学习笔记(Mvc篇),学生管理系统

    Asp.Net Core 学习笔记系列博客: C#语言学习系列博客: 相关博文推荐: 常识 像Django那样自动检查代码更新,自动重载服务器(太方便了) dotnet watch run 托管设置 设置项目文件的AspNetCoreHostingModel属性。 ...

    《电动力学(第二版)》(郭硕鸿) 习题答案doc

    B2C简单的购书网站前台(2005 asp.net源码) 一个用struts框架写的bbs论坛 ASP.NET与EXCEL交互详解及技巧 java 面试题大集合包括名大公司 《iPhone开发基础教程》.pdf (中文完整版) 使用C++实现录音的源码 ...

    javascrip上百技术总集

    下 用javascript操作asp.net label控件 外一篇 用javascript改变onclick调用的函数 用JavaScript加密保护网站页面 用Javascript检测网速的方法 用Javascript评估用户输入密码的强度 用JavaScript...

    从零开始学习JQuery

    不喜欢写那种"学习笔记"式的文章. 同时本系列将很快全部写完(有工作压力就是有动力), 随后如果时间允许我会继续更新MVC系列文章.再一次对等待MVC文章的朋友们说声抱歉! 另外本系列文章的大部分知识点来源于图灵...

    初学jndi笔记

    此文的目的是记录自己学习j2ee的一些过程。 这理解过程中可能有一些错误,如果高手看到了我的文章希望能够替我指正,感激不尽!!! 同时也希望能从一个初学者的角度去理解一些东西为后来学习j2ee的人提供一些...

    CSharp难点逐个击破

    * 这本电子书严格来说是我复习C#基础知识来的,我从09年初开始使用asp.net进行b/s开发,之前一直使用asp。在实际开发中深感C#的强大,也深深感到自身基础知识的欠缺,因此重新从头开始学习C#,在学习的过程中最主要...

Global site tag (gtag.js) - Google Analytics