博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【ASP.NET开发】菜鸟时期的.net笔记[about data binding]
阅读量:5160 次
发布时间:2019-06-13

本文共 2225 字,大约阅读时间需要 7 分钟。

.net 笔记摘自《ASP.NET 2.0 第一步》,感谢原作者的指导。

这一篇博文里的笔记带有不少我个人的理解,不懂问我哈,一起探讨。共勉。

一、有关字符串的一些工具方法

1.string.Format()

把每个格式项替换成相应的文本。

eg: string.Format("{0}+{1}={2}","4","6","10"),得出的字符串就是"4+6=10"。{0}、{1}和{2}就是格式项了,最终会由后面的文本替换。{}里面的花样有很多。

 

2.IndexOf()和LastIndexOf()

用于查找字符串中指定字符或者字符串首次(或最后一次)出现的位置,返回索引值,如果未出现则返回-1.

eg:

  str1.IndexOf("字");//查找"字"在str1中的索引值(位置)

      str1.IndexOf("字串");//查找"字串"的第一个字符在str1中的索引值(位置)

      str1.IndexOf("字串",3,2);//从str1的第4个字符起,查找两个字符,查找"字串"的第一个字符在str1中的索引值(位置)

 

3.SubString(参数1,参数2)

截取字串的一部分,参数1为左起始位数,参数2为截取几位。

eg: "Hello World".Substring(0,5)就是"Hello"

 

4.Split()

根据一个字符把字符串分成几个字符串并以字符串数组返回。

eg:"a,b,c".Split(',')就是{"a","b","c"}。

Split()不支持根据一个字符串来把字符串划分成几块,如果希望把"a<br>b<br>c"分割成{"a","b","c"}的话可以使用一中变通的办法,先把<br>替换成某一个特殊的字符然后再使用Split()分割:

eg:"a<br>b<br>c".Replace("<br>","&").Split('&')

 

二、数据绑定

1.绑定表达式

在ASP.NET中,<%# %> 是一个绑定表达式,而<%= %>则是一种内联(inline),在页面中数据输出方式类似于Response.Write(),下面给出例子:(我自己亲身试过)

HTML code:

<%# str + "1" %> <%= str + "2" %>

C# code:

protected string str = "编程快乐";protected void Page_Load(object sender,EventArgs e){}

显示结果为: 编程快乐2

原因:数据绑定包括两个过程:

(1)为控件指定绑定表达式,多值绑定时还要设置数据源

(2)对控件进行数据绑定,一般用DataBind()方法

在这里<%# str + "1" %>仅仅是一个数据绑定表达式,它指定了要绑定的数据,却还未执行绑定操作。

所以要使这句话真正起到作用,我们还需要在代码中编写绑定语句:

C# code:

protected void Page_Load(object sender,EventArgs e){    Page.DataBind();}

这个方法会调用页面上所有控件及其子控件的DataBind方法。

 

2.绑定特殊区域的数据:<%$ XXX %>

示例:<asp: TextBox ID="TextBox1" runat="server" Text="<%$ AppSettings:Text %>"></asp:TextBox>

这里的AppSettings就是Web.Config文件中的AppSettings节点。除了AppSettings,还可以指定ConnectionStrings和Resources,<%$ AppSettings:Text %>对应的Web.Config节点是:<appSettings><add key="Test" value="编程快乐" /></appSettings>

这里不需要用DataBind()方法。

 

3.ListBox控件的数据绑定

AppendDataBoundItems属性指示绑定的数据是否覆盖静态项,简单说,若此项为真,则代码中绑定的内容会添加到手动添加的项目的后面,否则就会覆盖它。

SelectionMode="Multiple"表示选择的类型为复选。

C# code:

//为控件指定数据源ListBox.DataSource = DataSource;//为控件的文本域指定数据源ListBox.DataTextField="key";//为控件的值域指定数据源ListBox.DataValueField="classID";//使用绑定方法ListBox.DataBind();

 

4.小技巧

不显式指定控件,仅知道控件的类型,即使不知道控件的ID,也可以获取该控件所选择的值。方法如下:(在按钮事件中)

RadioButtonList rdl= sender as RadioButtonList;if(rdl!=null){    Response.Write(rdl.Items[rdl.SelectedIndex].Value);}

转载于:https://www.cnblogs.com/stay-foolish/archive/2013/05/18/3086006.html

你可能感兴趣的文章
Day03:Selenium,BeautifulSoup4
查看>>
awk变量
查看>>
mysql_对于DQL 的简单举例
查看>>
35. Search Insert Position(C++)
查看>>
[毕业生的商业软件开发之路]C#异常处理
查看>>
一些php文件函数
查看>>
有关快速幂取模
查看>>
Linux运维必备工具
查看>>
字符串的查找删除
查看>>
NOI2018垫底记
查看>>
快速切题 poj 1002 487-3279 按规则处理 模拟 难度:0
查看>>
Codeforces Round #277 (Div. 2)
查看>>
【更新】智能手机批量添加联系人
查看>>
NYOJ-128前缀式计算
查看>>
深入理解 JavaScript 事件循环(一)— event loop
查看>>
Hive(7)-基本查询语句
查看>>
注意java的对象引用
查看>>
C++ 面向对象 类成员函数this指针
查看>>
NSPredicate的使用,超级强大
查看>>
自动分割mp3等音频视频文件的脚本
查看>>