绑定datagrid,显示出字符的长度问题

oyff 2006-10-25 01:01:46
绑定了datagrid,从数据库里取出的字符我希望只显示前10个,如果超过10个,就显示前十个字符+...
请问如何实现?
...全文
154 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
oyff 2006-10-30
  • 打赏
  • 举报
回复
再顶一次,我也想早日结贴啊
oyff 2006-10-30
  • 打赏
  • 举报
回复
在DataGrid1_ItemDataBound事件里面:
private void DataGrid1_ItemDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Item.ItemType!=ListItemType.DataCell)
{
if (e.Item.Cells[1].Text.Length>10)
{
e.Item.Cells[1].Text = e.Item.Cells[1].Text.Substring(0, 10) + "";
}
}
}

这种方法我试了,不好使.
e.Item.Cells[0]里取出来的值是&nbps,e.Item.Cells[1]更是越界了
怎么办?
daishengs 2006-10-30
  • 打赏
  • 举报
回复
//取字符串长度s = "iam方枪枪";
public int getlen(string s)
{
  int len = s.Length;//will output as 6
  byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
  len = sarr.Length;//will output as 3+3*2=9
return len;
}
public string getstr( object o1)
{
string strtitle=o1.ToString();
if (getlen(strtitle)>10)
{
//
}
else
{}
return strtitle;
}
如果楼主在前台只是普通的绑定列
可以在DataGrid_ItemDataBound事件中处理
private void DataGrid1_ItemDataBound(object sender, GridViewRowEventArgs e)
{
if(e.Item.ItemIndex>=0)
{
if (getlen(e.Item.Cells[1].Text)>10)
{
//
}
}
}
//如果是用模板例的:
<asp:DataGrid id="DgInquiryInfo" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn HeaderText="标题">
<ItemTemplate>
<asp:Label id=lblCode runat="server" Text=
'<%# getstr(DataBinder.Eval(Container.DataItem,"title"))%> ' >
</asp:Label>

</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
include_me 2006-10-30
  • 打赏
  • 举报
回复
if(e.Item.Cells[0] != "&nbps;")
{
....
}

不过这些都不好..

如果是中英文结合的,样式很不好看...

如: aaaaa...
中华人民共...

考虑下什么方法可以测下文字长度呀? [期盼]

jingye721 2006-10-30
  • 打赏
  • 举报
回复
e.Item.Cells[0]里取出来的值是&nbps,e.Item.Cells[1]更是越界了
-------------------------------------------------------
Cells[1]和Cells[0]应该是没什么关系的,它们是两列,你有几列就可以判断几列啊:
if (e.Item.Cells[0].Text.Length>10)
{
e.Item.Cells[0].Text = e.Item.Cells[1].Text.Substring(0, 10) + "...";
}
if (e.Item.Cells[1].Text.Length>10)
{
e.Item.Cells[1].Text = e.Item.Cells[1].Text.Substring(0, 10) + "...";
}
if (e.Item.Cells[2].Text.Length>10)
{
e.Item.Cells[2].Text = e.Item.Cells[1].Text.Substring(0, 10) + "...";
}
...
jingye721 2006-10-26
  • 打赏
  • 举报
回复
在DataGrid1_ItemDataBound事件里面:
private void DataGrid1_ItemDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Item.ItemType!=ListItemType.DataCell)
{
if (e.Item.Cells[1].Text.Length>10)
{
e.Item.Cells[1].Text = e.Item.Cells[1].Text.Substring(0, 10) + "";
}
}
}
MoonQQ 2006-10-26
  • 打赏
  • 举报
回复
//ItemDataBound //DataGrid 限定内容宽度
public void DataGrid1_ItemDataBound(object sender,DataGridItemEventArgs e)
{
if(e.Item.ItemType!=ListItemType.Header)
{
if(e.Item.Cells[x].Text.Trim().Length>=17)
{
e.Item.Cells[x].Text=e.Item.Cells[x].Text.Substring(0,16)+"...";
}
}
}
oyff 2006-10-26
  • 打赏
  • 举报
回复
楼上的这段代码放在哪里?
kittenlpf 2006-10-26
  • 打赏
  • 举报
回复
<%# DataBinder.Eval(Container.DataItem,"newtitle").ToString().Length>10?DataBinder.Eval(Container.DataItem,"newtitle").ToString().Substring(0,10) + ".....":DataBinder.Eval(Container.DataItem,"newtitle").ToString() %>
oyff 2006-10-26
  • 打赏
  • 举报
回复
顶一下,有人会吗?
oyff 2006-10-26
  • 打赏
  • 举报
回复
楼上的办法不好使啊
wslinfeng 2006-10-26
  • 打赏
  • 举报
回复
2楼的方法好使,放在前台,html里面,
不行的话也可以后台写个函数函数,protected的,前台好调用。
zhoufucai 2006-10-26
  • 打赏
  • 举报
回复
自己在后台代码中写一个函数,在模版列中调用该函数就可以了。
kittenlpf 2006-10-26
  • 打赏
  • 举报
回复
放在模板列里就OK了
kittenlpf 2006-10-26
  • 打赏
  • 举报
回复
<asp:DataGrid id="DgInquiryInfo" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn HeaderText="标题">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"newtitle").ToString().Length>10?DataBinder.Eval(Container.DataItem,"newtitle").ToString().Substring(0,10) + ".....":DataBinder.Eval(Container.DataItem,"newtitle").ToString() %>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
jc15271149 2006-10-25
  • 打赏
  • 举报
回复

private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
{
if(e.Item.Cells[0].Text.Length>10)
{
e.Item.Cells[0].Text = e.Item.Cells[0].Text.SubString(0,10)+"...";
}

}
}
xingyaohua 2006-10-25
  • 打赏
  • 举报
回复
<%# DataBinder.Eval(Container.DataItem,"newtitle").ToString().Length>10?DataBinder.Eval(Container.DataItem,"newtitle").ToString().Substring(0,10):DataBinder.Eval(Container.DataItem,"newtitle").ToString() %>
表格控件总览:   在VB开发环境中,表格控件在界面开发元素中占有重要的地位。它不仅有外观整洁、表达形式规范的优点,而且更重要的是它较高的信息表现率(就是相对于其他控件来说能够表达更多的信息),随着信息时代的到来,它的应用将更加的广泛。    那么在VB平台下,如何操作这一功能强大的控件元素呢?事实上我们知道,VB平台下面的表格控件是相当丰富的,总结下来提供了4种类型:Microsoft Data Bound grid Control、Microsoft Datagrid Control、Microsoft Flexgrid Control、Microsoft Hierarchial Flexgrid Control. 这四种表格各有其特点,下面我们一一讨论。   1. Microsoft Data Bound grid Control   此控件主要用于数据绑定(可以不绑定,但是因为不提供对单个cell的控制支持,所以实际上这样做是不经济的)。具体说来,就是数据源比较固定的情况下可以使用这种控件。   具体使用方法是设定此控件的datasource属性,就可以不用编写任何代码就可以显示该数据源所指向的记录数据。比如可以将datasource设置为一个data控件,而data控件又指向数据库"成绩"的 一个"语文"表,那么当程序运行时,它就自动显示此"语文"表的数据。 基本步骤如下: 1、向工程上添加Microsoft Data Bound Grid Control控件,即DBGrid控件。 2、在窗体上添加DBGrid控件DBGrid1和Data控件Data1。 3、设置Data1的DatabaseName属性为你要看的数据库的名字。 4、设置Data1的RecordSource属性为表的名字或合法的SQL Select语句。 5、设置DBGrid1的DataSource属性为Data1。   从上面的分析看得来,这个控件虽然操作方便,但是它也有局限性,就是不能对显示的数据进行灵活的控制操作,比如有些数据允许用户修改,有些数据却不允许用户修改,而此控件却只能提供全部数据源的原子操作:即要么全部允许修改,要么就全部不允许。还有另外此控件也不提供对单个单元格(cell)进行操作,所以提供不了更为个性化的界面风格。   2. Microsoft Datagrid Control   此控件跟前面介绍的Data Bound grid Control控件很相似,也是主要进行绑定操作,而缺点和Data Bound grid Control完全一样。但是它跟Data Bound grid Control不一样的是其数据源的驱动引擎只能是OLEDB形式的,不能是DAO,比如就可以使用ADO数据控件,不能使用DATA控件。而Data Bound grid Control却刚好和它相反,这一点在开发中一定要注意。   3. Microsoft Flexgrid Control与Microsoft Hierarchial Flexgrid Control.   这里重点介绍这两种控件,因为在实际开发中,这两种控件应用的场合更多一些,它不仅能够反映数据,而且也能把数据的修改信息反映到数据库中去,所以弥补了上述两种控件的不足。   如果数据不需要修改,那么可以进行绑定操作,其方法跟前面介绍的完全一样,就是通过设置DataSource属性来完成数据的显示工作。但是实际开发中,需要对整个表格控件更为灵活的显示控制。   在给例程之前,有必要对这一控件进行比较详尽的认识:这种控件允许将文本或者图象放置于每个单元格之中,控件的Row与Col属性允许用户在代码中指定当前行和列,当然也可通过操作鼠标和键盘来改变这两个属性,而text属性指明当前单元格的文本。如果单元格的文本太长而不能完全显示来的话,可以通过将WordWrap属性设置为true来达到显示的目的。下面将比较重要的属性小结如下:   DataSource---------用来指定需要绑定的数据源,比如data控件。   Cellpicture----------用来设定当前单元格的图象,便于显示该图象。此属性不能在设计时使用。   Col,Row---------------设定当前列和当前行,注意它们均是从0开始的,如果同时设定它们,可以指定当前的单元格。设计时也不能使用。   Cols,Rows---------------设置表格控件总的列数和行数。   Hwnd---------------表格句柄,可以结合Windows API对表格控件进行更高级的控制。   Text---------------指定当前的单元格的文本内容。   TextMatrix(i,j)-------此属性比较重要,它用来指定第I行和第j列所确定的单元格的文本内容。它等价于下面的代码: MSHFlexGrid1.Rows =i MSHFlexGrid1.Cols =j MSHFlexGrid1.Text =指定的字符串   WordWrap-------为ture时可以在当前单元格换行显示,否则如果要显示字符长度超过列宽,那么就不能显示完全。
flex3的cookbook书籍完整版dpf(包含目录),目录是我花了两个多小时自己整理的,希望对大家有帮助。 目录: 第一章.Flex与ActionScript基础(3) 1.1节.用FlexBuilder创建Flex项目 1.2节.用FlexBuilder创建Flex库项目 1.3节.创建ActionScript项目 1.4节.在FlexBuilder中设置MXML编译器选项 1.5节.在FlexBuilder外部编译Flex项目 1.6节.在MXML中添加事件监听器 1.7节.设置子节点属性 1.8节.定义数组和对象 1.9节.在ActionScript中设置变量的作用域 1.10节.在ActionScript中创建组件 1.11节.使用事件冒泡机制 1.12节.使用代码隐藏模式分离MXML和ActionScript 1.13节.组件属性绑定 1.14节.使用自定义事件以及事件数据传递 1.15节.监听键盘事件 1.16节.定义方法参数 1.17节.检测对象数据类型 1.18节.接口的定义和实现 第二章. 控件与菜单(37) 2.1节. 监听按钮点击 2.2节. 创建一组状态按钮 2.3节. 使用ColorPicker设置Canvas颜色 2.4节. 使用SWFLoader载入SWF 2.5节. 设置组件的标签索引 2.6节. 设置控件的labelFunction 2.7节. 提供菜单数据 2.8. 动态填充菜单 2.9节. 为菜单类控件创建事件处理函数 2.10节. 显示一个通知窗口 2.11节. 使用Calendar控件 2.12节. 弹窗口的显示和位置 2.13节. 自定义弹式窗口边框 2.14节. 处理focusIn和focusOut事件 第三章容器(65) 3.1 节使用布局管理器布置子组件 3.2 节通过百分比方式配置容器的布局和尺寸 3.3节. 以不同的坐标系统跟踪鼠标位置 3.4 节在容器中动态添加和移除子组件 3.5 节对容器使用基于约束的布局 3.6 节在容器内为子组件设置最大、最小尺寸 3.7 节为容器指定行和列的约束 3.8 节使用约束条件为文本创建排版流程(Layout Flows) 3.9 节在容器内控制滚动和溢 3.10 节控制Box 组件的布局 3.11 节使用容器初始化 3.12 节创建TitleWindow 3.13 节通过LinkBar 控制ViewStack 3.14 节将ViewStack 的选中索引数绑定到一个变量上 3.15 节使用延迟实例化提高启动效率 3.16 节创建并控制可调整大小的容器 3.17节在TabNavigator内创建、启用和禁用TAB组件(TabControls) 3.18 节使用可关闭Tabs 创建一个TabNavigator 3.19 节创建和控制Alert 3.20 节根据呼组件设置对话框的尺寸和位置 3.21 节管理多个弹对话框 3.22 节在容器中滚动到某个指定的子组件 3.23 节使用IdeferredInstance 创建模板 3.24 节手动布局容器 3.25 节测量并改变容器尺寸 3.26 节控制子组件的可见性和布局 3.27 节用简单重组行为创建Tile 容器 3.28 节给Hbox 设置背景图片和圆角 3.29 节控制子组件的位置和滚动 第四章文本(121) 4.1节正确的设置一个文本对象的值 4.2节. 将TextInput绑定一个值 4.3节. 创建一个具有文字提示的文本输入框 4.4节. 创建一个合适的编辑器 4.5节. 确定用户电脑上安装的所有字体 4.6节. 创建一个自定义的TextInput 4.7节. 为一段文本设置风格属性 4.8节.在HTML里显示图片和SWF文档 4.9节. 在一个搜索域中高亮显示用户输入 4.10节. 把字符当作独立图像处理 4.11节. 指定TextField中的HTML样式 4.12节. 使用RichTextEditor 4.13节. 在HTML中应用嵌入字体 4.14节. 给一个Text 组件中的文本添加拖拽阴影 4.15节. 找一个TextArea 中最后显示字符 第五章Lists,Tiles,和Trees(147) 5.1 节.创建可编辑的list 组件 5.2节.为List的某项设置图标 5.3 节. 为List的内容变更添加特效 5.4为TileList创建一个基本的条目渲染器 5.5节.为Tree设置XML数据 5.6节.为Tree创建项渲染器 5.7节.在Tree控件中使用复杂数据对象 5.8节.只允许List的某一项可被选中 5.9节.为List的项编辑器添加格式化和验证数据 5.10节.跟踪TileList中所有被选中的子节点 5.11节.使用和显示项渲染器的N
【面试题库网整理 .net 面试题(附答案)(四)】 7. 某一密码仅使用K、L、M、N、O共5个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则: (1) 密码单词的最小长度是两个字母,可以相同,也可以不同 (2) K不可能是单词的第一个字母 (3) 如果L现,则现次数不止一次 (4) M不能使最后一个也不能是倒数第二个字母 (5) K现,则N就一定现 (6) O如果是最后一个字母,则L一定问题一:下列哪一个字母可以放在LO中的O后面,形成一个3个字母的密码单词? A) K B)L C) M D) N 答案:B 问题二:如果能得到的字母是K、L、M,那么能够形成的两个字母长的密码单词的总数是多少? A)1个 B)3个 C)6个 D)9个 答案:A 问题三:下列哪一个是单词密码? A) KLLN B) LOML C) MLLO D)NMKO 答案:C 8. 62-63=1 等式不成立,请移动一个数字(不可以移动减号和等于号),使得等式成立,如何移动? 答案:62移动成2的6次方 new有几种用法 第一种:new Class(); 第二种:覆盖方法 public new XXXX(){} 第三种:new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。 2.如何把一个array复制到arrayList里 foreach( object o in array )arrayList.Add(o); 3.datagrid.datasouse可以连接什么数据源 [dataset,datatable,dataview] dataset,datatable,dataview , IList 4.概述反射和序列化 反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性 序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。 5.概述o/r mapping 的原理 利用反射,配置 将类于数据库表映射 7.用sealed修饰的类有什么特点 sealed 修饰符用于防止从所修饰的类派生其它类。如果一个密封类被指定为其它类的基类,则会发生编译时错误。 密封类不能同时为抽象类。 sealed 修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。 11.详述.NET里class和struct的异同! class:放在 ? struct放在? struct值传递 类与结构有很多相似之处:结构可以实现接口,并且可以具有与类相同的成员类型。然而,结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承。结构的值存储在“在堆栈上”或“内联”。细心的程序员有时可以通过聪明地使用结构来增强性能。 12.概述.NET里对 remoting 和 webservice 两项技术的理解和实际中的应用。 远程逻辑调用,remoing接口只能用在.net中 13.什么是code-behind技术 aspx and cs 14.概述三层结构体系 web/business/dataaccess 15.asp.net如何实现MVC模式,举例说明! web/business/dataaccess 2.什么是ASP.net中的用户控件 答:用户控件就是.ascx扩展名的东西喽,可以拖到不同的页面中调用,以节省代码.比如登陆可能在多个页面上有,就可以做成用户控件,但是有一个问题就是用户控件拖到不同级别的目录下后里面的图片等的相对路径会变得不准确,需要自已写方法调整. 3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释? 答:装箱就是把值类型转成引用类型,从MS IL角度看好像是boxing,没记错的话是把值从堆栈转到堆中.拆箱相反,重载就是指一个方法名同,参数个数不同,返回值可以相同的方法.CLR是通用语言运行时,其它的不清楚. 4.列举一下你所了解的XML技术及其应用 答:XML可是好东西,保存配置,站与站之间的交流,WEB SERVICE都要用它. 5.值类型和引用类型的区别?写C#的样例代码。 答:结构是值类型,类是引用类型,所以传结构就是值类型的应用啦,传对象或类就是引用类型的,这个不用多写了吧. 6.ADO.net中常用的对象有哪些?分别描述一下。 答:connection command sqladapter dataset datatable dataview等等.写不完了. 7.如何理解委托? 答:据说相当于函数指针,定义了委托就可以在不调用原方法名称的情况下调用那个方法. msdn2005中是这样解释的: 委托具有以下特点: 委托类似于 C++ 函数指针,但它是类型安全的。 委托允许将方法作为参数进行传递。 委托可用于定义回调方法。 委托可以链接在一起;例如,可以对一个事件调用多个方法。 方法不需要与委托签名精确匹配。有关更多信息,请参见协变和逆变。 C# 2.0 版引入了匿名方法的概念,此类方法允许将代码块作为参数传递,以代替单独定义的方法。 【面试题库网整理 .net 面试题(附答案)(三)】 22.您要创建一个显示公司员工列表的应用程序。您使用一个DataGrid控件显示员工的列表。您打算修改这个控件以便在这个Grid的Footer显示员工合计数。请问您应该怎么做?( C? ) A.重写OnPreRender事件,当Grid的Footer行被创建时显示合计数。 B.重写OnItemCreated事件,当Grid的Footer行被创建时显示合计数。 C.重写OnItemDataBound事件,当Grid的Footer行被创建时显示合计数。 D. 重写OnLayout事件,当Grid的Footer行被创建时显示合计数。 23.您要创建ASP.NET应用程序用于运行AllWin公司内部的Web站点,这个应用程序包含了50个页面。您想要配置这个应用程序以便当发生一个HTTP代码错误时它可以显示一个自定义的错误页面给用户。您想要花最小的代价完成这些目标,您应该怎么做?(多选)( CD )   A.在这个应用程序的Global.asax文件中创建一个Application_Error过程去处理ASP.NET代码错误。   B.在这个应用程序的Web.config文件中创建一个applicationError节去处理ASP.NET代码错误。   C.在这个应用程序的Global.asax文件中创建一个CustomErrors事件去处理HTTP错误。   D.在这个应用程序的Web.config文件中创建一个CustomErrors节去处理HTTP错误。   E.在这个应用程序的每一页中添加一个Page指示符去处理ASP.NET 代码错误。   F. 在这个应用程序的每一页中添加一个Page指示符去处理ASP.NET HTTP错误。 24.您的公司有一个DB Server,名为AllWin,其上装了MS SQLSERVER 2000。现在需要您写一个数据库连接字符串,用以连接AllWin上SQL SERVER中的一个名为PubBase实例的Test库。请问,应该选择下面哪一个字符串?( B )   A. “Server=AllWin;Data Source=PubBase;Initial Catalog=Test;Integrated Security=SSPI”   B. “Server= AllWin;Data Source=PubBase;Database=Test;Integrated Security= SSPI”   C. “Data Source= AllWin \PubBase;Initial Category=PubBase;Integrated Security= SSPI”   D. “Data Source= AllWin \ PubBase;Database=Test;Integrated Security= SSPI” 25.您为AllWin公司创建了一个ASP.NET应用程序。这个应用程序调用一个 Xml Web Service。这个 Xml Web Service 将返回一个包含了公司雇员列表的DataSet对象。请问您该如何在这个程序中使用这个 Xml Web Service?( ? )   A.在“引用”对话框的.Net标签中选择 System.Web.Services.dll。   B.在“Web引用”对话框中输入这个 XML Web service 的地址。   C.在您的 Global.asax.cs 中添加一条 using 语句并指定这个 XML Web service 的地址。   D.在您的 Global.asax.cs 中写一个事件处理器导入这个 Xml Web Service 相应的 .wsdl 和 .disco 文件。 26.您要创建一个ASP.NET应用程序在DataGrid控件中显示一个经过排序的列表。产品数据被存放于一个名为PubBase的Microsoft SQL Server 数据库。每个产品的主键是ProductID,Numeric型并且每个产品有一个字母描述字段,名为ProductName。您使用一个SqlDataAdapter对象和一个SqlCommand对象通过调用一个存储过程从数据库中获取产品数据。您将SqlCommand对象的CommandType属性设置为CommandType.StoredProcedure,并将它的CommandText属性设置为procProductList。您成功的获取了一个DataTable对象,其中是已经按ProductID降序排列的产品列表。您打算显示以相反的字母顺序排列的ProductName,请问该怎么做? ( B )   A. 将SqlCommand对象的CommandType属性修改为CommandType.Text,将CommandText属性修改为”SELECT * FROM procProductList ORDER BY ProductName DESC”。然后将这个DataTable对象绑定DataGrid控件。   B. 创建一个基于这个DataTable对象的新的DataView并将这个DataView的Sort属性设置为“ProductName DESC”。然后将这个DataView对象绑定DataGrid控件。   C. 将DataGrid控件的AllowSorting属性设置为True,并将DataGridColumn的SortExpression属性设置为 “ProductName DESC”.以显示ProductName。然后将这个DataTable对象绑定DataGrid控件。   D. 将DataTable对象的DisplayExpression属性设置为 “ORDER BY ProductName DESC”.。然后将这个DataTable对象绑定DataGrid控件。 76.C#代码实现,确保windows程序只有一个实例(instance) /// ///应用程序的主入口点。 /// [STAThread] staticvoid Main() { //防止程序多次运行 if(!OneInstance.IsFirst("GetPayInfo")) { MessageBox.Show ("警告:程序正在运行中! 请不要重复打开程序!可在右下角系统栏找到!","程序错误提示:",MessageBoxButtons.OK,MessageBoxIcon.Stop); return; } Application.Run(new Form1()); } // ******************* 防止程序多次执行 ************************** publicabstractclass OneInstance { /// ///判断程序是否正在运行 /// ///程序名称 ///如果程序是第一次运行返回True,否则返回False publicstaticbool IsFirst(string appId) { bool ret=false; if(OpenMutex(0x1F0001,0,appId)==IntPtr.Zero) { CreateMutex(IntPtr.Zero,0,appId); ret=true; } return ret; } [DllImport("Kernel32.dll",CharSet=CharSet.Auto)] privatestaticextern IntPtr OpenMutex( uint dwDesiredAccess, // access int bInheritHandle, // inheritance option string lpName // object name ); [DllImport("Kernel32.dll",CharSet=CharSet.Auto)] privatestaticextern IntPtr CreateMutex( IntPtr lpMutexAttributes, // SD int bInitialOwner, // initial owner string lpName // object name ); } 【面试题库网整理 .net 面试题(附答案)(二)】 8.以下代码段中能否编译通过?请给理由。 try { } catch(FileNotFoundException e1) { } catch(Exception e2) { } catch(IOException e3) { } catch { } 9.对于一个实现了IDisposable接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程序定义的任务?(多选) ( ABC ) A.Close B.DisposeC.Finalize D.using E.Quit 10.Net依赖以下哪项技术实现跨语言互用性?( C ) A.CLR B.CTS C.CLS D.CTT 11.请问: String类与StringBuilder类有什么区别?为什么在.Net类库中要同时存在这2个类?(简答) 如果要操作一个不断增长的字符串,尽量不用String类,改用StringBuilder类。两个类的工作原理不同:String类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到另一个字符串上的工作没错,但是在.NET框架下,这个操作实在是划不来。因为系统先是把两个字符串写入内存,接着删除原来的String对象,然后创建一个String对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少时间。而使用System.Text命名空间下面的StringBuilder类就不是这样了,它提供的Append方法,能够在已有对象的原地进行字符串的修改,简单而且直接。当然,一般情况下觉察不到这二者效率的差异,但如果你要对某个字符串进行大量的添加操作,那么StringBuilder类所耗费的时间和String类简直不是一个数量级的。 12.以下哪个类是int的基类?( ) A.Int32 B.Object C.ValueType D.Int16 二、C# 部分* 13.以下哪些可以作为接口成员? (多选) ( ABDE ) A.方法B.属性C.字段D.事件E.索引器 F.构造函数G.析构函数 14.以下关于ref和out的描述哪些项是正确的?(多选) ( ACD ) A.使用ref参数,传递到ref参数的参数必须最先初始化。 B.使用out参数,传递到out参数的参数必须最先初始化。 C.使用ref参数,必须将参数作为ref参数显式传递到方法。 D.使用out参数,必须将参数作为out参数显式传递到方法。 15.“访问范围限定于此程序或那些由它所属的类派生的类型”是对以下哪个成员可访问性含义的正确描述?( B ) A.public B.protected C.internal D.protected internal 16.class Class1 { private static int count = 0; static Class1() { count++; } public Class1() { count++; } } Class1 o1 = new Class1(); Class1 o2 = new Class1(); 请问,o1.Count的值是多少?( C ) A.1 B.2 C.3 D.4 17.abstract class BaseClass { public virtual void MethodA() { } public virtual void MethodB() { } } class Class1: BaseClass { public void MethodA(string arg) { } public override void MethodB() { } } class Class2: Class1 { new public void MethodB() { } } class MainClass { public static void Main(string[] args) { Class2 o = new Class2(); Console.WriteLine(o.MethodA()); } } 请问,o.MethodA调用的是: ( A ) A.BaseClass.MethodAB.Class2.MethodA C.Class1.MethodAD.都不是 【.net 面试题系列文章一(附答案)】 1 (1)面向对象的语言具有__继承性_性、_封装性_性、_多态性 性。 (2)能用foreach遍历访问的对象需要实现 _ IEnumerable 接口或声明_ GetEnumerator 方法的类型。1.c#中的三元运算符是__?:__ 2.当整数a赋值给一个object对象时,整数a将会被__装箱___? 3.类成员有__3__种可访问形式? 4.public static const int A=1;这段代码有错误么?是什么? const成员都是static所以应该去掉static 5.float f=-123.567F; int i=(int)f; i的值现在是_-123____? 6.利用operator声明且仅声明了==,有什么错误么? 要同时修改Equale和GetHash() ? 重载了"==" 就必须重载 "!=" 7.委托声明的关键字是___ delegate ___? 8.用sealed修饰的类有什么特点?不可被继承 9.在Asp.net中所有的自定义用户控件都必须继承自_ System.Web.UI.UserControl _______? 10.在.Net中所有可序列化的类都被标记为__[serializable]___? 11.在.Net托管代码中我们不用担心内存漏洞,这是因为有了_ gC __? 12.下面的代码中有什么错误吗?_ abstract override 是不可以一起修饰______ using System; class A { public virtual void F(){ Console.WriteLine("A.F"); } } abstract class B:A { public abstract override void F(); } 13.当类T只声明了私有实例构造函数时,则在T的程序文本外部,_不可以_(可以 or 不可以)从T派生新的类,_不可以_(可以 or 不可以)直接创建T的任何实例。 14.下面这段代码有错误么?case():不行 default; switch (i){ case(): CaseZero(); break; case 1: CaseOne(); break; case 2: dufault; CaseTwo(); break; } 15.在.Net中,类System.Web.UI.Page 可以被继承么?可以
ASP的最新版本ASP.NET是Microsoft用于建立动态的数据库驱动网站的技术。内容包括:ASP.NET Web表单的使用,高级ASP.NET页面的开发,ADO.NET的使用,ASP.NET应用程序的使用, ASP.NET应用程序的保护,ASP.NET Web服务的建立,.NET框架的利用,自定义的ASP.NET控件的建立,ASP.NET的应用程序示例等。
本书内容丰富、图文并茂,适合于需要创建网站的专业程序员阅读。本书是关于使用ASP.NET建立网站的完整参考书,书中包含数百个代码示例,读者可以使用这些示例开始建立自己的网站
前言

第一部分 使用ASP.NET Web表单

第1章 建立ASP.NET页面

1.1 ASP.NET和.NET框架
1.1.1 .NET框架类库
1.1.2 理解名称空间
1.1.3 标准的ASP.NET名称空间
1.1.4 与.NET框架兼容的语言
1.2 ASP.NET控件简介
1.2.1 简单的ASP.NET页面
1.2.2 ASP.NET控件的优点
1.2.3 ASP.NET控件概述
1.3 向ASP.NET页面中添加应用逻辑
1.3.1 处理控件事件
1.3.2 处理页面事件
1.4 ASP.NET页面的结构
1.4.1 指令
1.4.2 代码声明块
1.4.3 ASP.NET控件
1.4.4 代码显示
1.4.5 服务器端注释
1.4.6 服务器端包含指令
1.4.7 文本和HTML标记
1.5 小结

第2章 用Web服务器控件建立表单

2.1 建立智能表单
2.1.1 Label控件
2.1.2 TextBox控件
2.1.3 Button控件
2.1.4 RadioButton和RadioButtonList控件
2.1.5 CheckBox和CheckBoxList控件
2.1.6 DropDownList控件
2.1.7 ListBox控件
2.2 控制页面导航
2.2.1 将表单提交到另一个页面
2.2.2 使用Redirect( )方法
2.2.3 使用HyperLink控件
2.3 在控件上进行格式化
2.3.1 基本Web控件属性
2.3.2 在Web控件上应用样式
2.4 小结

第3章 用检验控件执行表单的检验

3.1 使用客户端检验
3.1.1 配置客户端检验
3.1.2 启用和禁用客户端检验
3.2 必填域:RequiredFieldValidator控件
3.3 检验表达式:RegularExpressionValidator控件
3.3.1 检验电子邮件地址
3.3.2 检验用户名和口令
3.3.3 检验电话号码
3.3.4 检验网址
3.3.5 检验条目长度
3.3.6 检验邮政编码
3.4 比较值:CompareValidator控件
3.4.1 比较一个控件与另一个控件的值
3.4.2 比较一个控件的值与固定值
3.4.3 执行数据类型检查
3.5 检查值的范围:RangeValidator控件
3.6 错误汇总:ValidationSummary控件
3.7 执行自定义的检验:CustomValidator控件
3.8 禁用检验
3.9 小结

第4章 高级控件编程

4.1 使用视图状态
4.1.1 禁用视图状态
4.1.2 将值添加到视图状态
4.2 显示和隐藏内容
4.2.1 使用Visible和Enabled属性
4.2.2 使用Panel控件
4.2.3 模拟多页面表单
4.2.4 通过程序添加控件
4.2.5 将控件添加到页面
4.2.6 PlaceHolder控件
4.2.7 动态产生表单
4.2.8 动态产生列表条目
4.3 使用复杂控件
4.3.1 使用Calendar控件显示交互式的日历
4.3.2 使用AdRotator控件显示广告条
4.3.3 使用HTMLInputFile控件接受文件上传
4.4 小结

第二部分 高级ASP.NET页面开发

第5章 用用户控件创建自定义控件

5.1 用用户控件包含标准内容
5.2 显露用户控件中的属性和方法
5.3 显露用户控件中的Web控件
5.4 显露用户控件中的事件
5.5 通过程序装载用户控件
5.6 小结

第6章 将代码与表示分离

6.1 创建业务组件
6.2 创建多层Web应用程序
6.3 使用code-behind
6.3.1 code-behind是如何工作的
6.3.2 编译code-behind文件
6.3.3 从一个code-behind文件派生多个页面
6.3.4 编译完整的ASP.NET页面
6.4 小结

第7章 用可移动控件为可移动设备服务

7.1 使用可移动设备软件模拟器
7.2 无线应用协议简介
7.3 建立WML页面
7.3.1 配置IIS
7.3.2 WML和XML
7.3.3 创建卡片集
7.3.4 用WML链接文件
7.4 使用ASP.NET可移动控件
7.4.1 创建可移动表单
7.4.2 动态激活可移动表单
7.4.3 显示文本
7.4.4 显示列表
7.4.5 创建文本框
7.4.6 检验用户输入
7.4.7 显示图像
7.4.8 进行电话呼叫
7.4.9 用可移动控件显示广告
7.4.10 使用可移动控件显示日历
7.5 创建跨设备兼容的可移动页面
7.5.1 探测设备功能
7.5.2 使用DeviceSpecific选择设备
7.5.3 使用表单模板集
7.6 小结

第8章 使用第三方控件

8.1 使用Microsoft Internet Explorer WebControls
8.1.1 使用TreeView控件
8.1.2 使用Toolbar控件
8.1.3 使用TabStrip控件
8.2 使用Superexpert控件
8.2.1 使用Content Rotator控件
8.2.2 使用SuperDataGrid控件
8.2.3 使用DataForm控件
8.3 小结

第三部分 使用ADO.NET

第9章 ADO.NET简介

9.1 ADO.NET概述
9.2 执行常见的数据库任务
9.2.1 打开数据库链接
9.2.2 从数据库表获取记录
9.2.3 在查询中使用参数
9.2.4 向数据库添加记录
9.2.5 更新数据库记录
9.2.6 删除数据库记录
9.3 改进数据库性能
9.3.1 使用SQL存储过程
9.3.2 获取返回值和输参数
9.3.3 执行复杂的存储过程
9.3.4 用链接缓冲改进性能
9.4 高级的数据库主题
9.4.1 在事务中执行数据库命令
9.4.2 指定命令行为
9.4.3 获取表模式信息
9.5 小结

第10章 将数据绑定到Web控件

10.1 数据绑定概述
10.2 将服务器控件绑定到数据源
10.2.1 绑定到Repeater控件
10.2.2 使用模板
10.2.3 视图状态和Repeater控件
10.2.4 绑定到DropDownList控件
10.2.5 绑定到RadioButtonList控件
10.2.6 绑定到CheckBoxList控件
10.2.7 绑定到ListBox控件
10.2.8 绑定到其他控件
10.3 创建主/明细表单
10.3.1 创建单页面的主/明细表单
10.3.2 创建多页面的主/明细表单
10.4 小结

第11章 使用DataList和DataGrid控件

11.1 DataList和DataGrid控件概述
11.1.1 理解事件冒泡机制
11.1.2 使用模板
11.1.3 使用DataKeys集合
11.2 使用DataList控件
11.2.1 在DataList中显示数据
11.2.2 对DataList使用模板
11.2.3 对DataList使用样式
11.2.4 在DataList中创建多个列
11.2.5 捕获DataList控件中引发的事件
11.2.6 选择DataList中的条目
11.2.7 通过DataList控件使用DataKeys集合
11.2.8 用DataList控件创建主/明细表单
11.2.9 编辑DataList控件中的条目
11.3 使用DataGrid控件
11.3.1 在DataGrid控件中创建列
11.3.2 对DataGrid使用样式
11.3.3 对DataGrid控件中的列进行排序
11.3.4 对DataGrid中的记录进行分页
11.3.5 选择DataGrid控件中的行
11.3.6 编辑DataGrid控件中的条目
11.3.7 使用模板编辑DataGrid控件中的条目
11.4 小结

第12章 操作DataSet

12.1 理解DataSet
12.1.1 DataSet的元素
12.1.2 向DataSet添加DataTable
12.1.3 将控件绑定到DataSet
12.2 理解DataTable
12.2.1 通过程序创建DataTable
12.2.2 设置DataTable属性
12.2.3 在DataTable中设置列属性
12.2.4 在DataTable中计算列值
12.2.5 在DataTable之间定义关系
12.2.6 获取DataTable模式信息
12.2.7 在DataTable中更新记录
12.3 理解DataView
12.3.1 在DataView中对行进行过滤
12.3.2 在DataView中对行进行排序
12.3.3 在DataView中搜索行
12.4 通过ASP.NET页面使用DataSet
12.4.1 缓存DataSet
12.4.2 显示缓存的数据
12.4.3 过滤缓存的数据
12.4.4 在缓存的DataSet中搜索行
12.5 小结

第13章 操作XML

13.1 XML类概述
13.2 通过DataSet使用XML
13.2.1 将XML文档读入DataSet
13.2.2 通过ReadXml使用模式
13.2.3 从DataSet写XML文档
13.2.4 通过DataSet使用XMLData Documents
13.3 使用样式单转换XML
13.4 使用ASP.NET Xml控件
13.5 使用XslTransform类
13.6 使用强类型的DataSet
13.7 小结

第14章 使用ADO.NET创建搜索页面

14.1 使用SQL Server全文搜索
14.1.1 配置Full-Text Search Service
14.1.2 对数据库数据执行任意文本查询
14.1.3 对数据库数据执行布尔查询
14.1.4 上传二进制文档并且进行索引
14.2 使用Microsoft Indexing Service
14.2.1 配置Microsoft Indexing Service
14.2.2 将SQL Server配置为使用Microsoft Indexing Service
14.2.3 获取文档属性
14.2.4 对文件系统数据执行任意文本查询
14.2.5 对文件系统数据执行布尔查询
14.2.6 对文档属性执行查询
14.3 小结

第四部分 使用ASP.NET应用程序

第15章 创建ASP.NET应用程序

15.1 ASP.NET应用程序概述
15.2 使用应用程序状态
15.2.1 理解应用程序状态和同步
15.2.2 使用Global.asax文件
15.2.3 理解Context和使用Global.asax文件
15.2.4 处理应用程序Start和Init事件
15.2.5 处理Application_BeginRequest事件
15.3 使用Web.Config文件
15.3.1 研究配置部分
15.3.2 修改配置设置
15.3.3 设置配置位置
15.3.4 锁定配置设置
15.3.5 添加自定义的配置信息
15.4 使用HTTP处理器和模块
15.4.1 使用HTTP处理器
15.4.2 使用HTTP模块
15.4.3 创建WhosOn应用程序
15.5 小结

第16章 跟踪用户会话

16.1 使用浏览器cookie
16.1.1 cookie如何工作
16.1.2 创建和读取会话cookie
16.1.3 创建和读取持久性cookie
16.1.4 设置cookie属性
16.1.5 cookie的限制
16.2 使用会话状态
16.2.1 向会话状态中添加条目
16.2.2 从会话状态中删除条目
16.2.3 启动用户会话
16.2.4 结束用户会话
16.2.5 处理会话事件
16.2.6 在进程内存储会话状态
16.2.7 在Windows服务中存储会话状态
16.2.8 在数据库表中存储会话状态
16.2.9 禁止会话状态
16.3 使用无cookie会话
16.3.1 启用无cookie会话
16.3.2 无cookie会话的限制
16.4 小结

第17章 缓存ASP.NET应用程序

17.1 使用页面输缓存
17.1.1 按参数改变缓存内容
17.1.2 按头改变缓存内容
17.1.3 按自定义的字符串改变缓存内容
17.1.4 设置缓存位置
17.1.5 使用HttpCachePolicy类
17.2 使用页面分段缓存
17.2.1 按参数改变页面分段缓存
17.2.2 页面分段缓存的限制
17.3 使用页面数据缓存
17.3.1 在缓存中添加条目
17.3.2 添加缓存文件依赖性
17.3.3 添加缓存触发器依赖性
17.3.4 添加缓存键依赖性
17.3.5 建立绝对的过期策略
17.3.6 建立变化的过期策略
17.3.7 设置缓存条目优先级
17.3.8 创建缓存回调方法
17.4 小结

第18章 应用程序跟踪和错误处理

18.1 响应错误
18.1.1 查看错误信息
18.1.2 页面级错误处理
18.1.3 应用程序级错误处理
18.2 跟踪和监视应用程序
18.2.1 跟踪页面的执行
18.2.2 监视ASP.NET进程
18.2.3 获取进程信息
18.3 记录事件
18.4 使用调试器
18.4.1 连接调试器
18.4.2 建立断点
18.4.3 建立观察
18.4.4 逐步执行ASP.NET页面
18.5 小结

第五部分 保护ASP.NET应用程序

第19章 使用基于表单的身份验证

19.1 使用表单身份验证
19.1.1 启用表单身份验证
19.1.2 配置表单身份验证
19.1.3 配置表单授权
19.1.4 获取用户信息
19.1.5 创建注销页面
19.1.6 用Web.Config文件进行用户身份验证
19.1.7 用XML文件进行用户身份验证
19.1.8 用数据库表进行用户身份验证
19.1.9 实现基于角色的身份验证
19.1.10 创建自定义的身份验证票据
19.1.11 表单身份验证和Web阵
19.2 使用Passport身份验证
19.2.1 启用Passport身份验证
19.2.2 允许用户登录和注销
19.2.3 获取用户信息
19.3 小结

第20章 基于Windows的身份验证

20.1 使用基于Windows的身份验证
20.1.1 配置Internet Information Server安全
20.1.2 配置Microsoft Windows安全
20.1.3 配置Windows身份验证
20.1.4 配置Windows授权
20.1.5 配置自定义角色
20.1.6 获取用户信息
20.2 模拟用户账号
20.3 设置安全策略
20.4 小结

第21章 加密网上发送的数据

21.1 使用Secure Sockets Layer
21.1.1 加密
21.1.2 身份验证
21.1.3 数据完整性
21.1.4 SSL有多安全
21.2 将服务器配置为使用SSL
21.2.1 产生证书请求文件
21.2.2 申请服务器证书
21.2.3 安装服务器证书
21.3 在ASP.NET页面中使用SSL
21.4 使用.NET加密类
21.4.1 使用散列算法
21.4.2 使用对称加密算法
21.4.3 使用不对称加密
21.5 小结

第六部分 建立ASP.NET Web服务

第22章 创建XML Web服务

22.1 XML Web服务概述
22.1.1 XML Web服务促进通信
22.1.2 XML Web服务允许聚集
22.2 创建简单的XML Web服务
22.2.1 设置WebMethod属性
22.2.2 设置WebService属性
22.2.3 预编译XML Web服务
22.3 从浏览器测试XML Web服务
22.3.1 用HTTP-Get调用XML Web服务
22.3.2 用HTTP-Post调用XML Web服务
22.3.3 用SOAP调用XML Web服务
22.4 通过代理类访问XML Web服务
22.4.1 产生XML Web服务代理类
22.4.2 使用XML Web服务代理类
22.4.3 使用Web服务描述语言工具
22.4.4 设置代理类属性
22.5 在XML Web服务中传送复杂数据
22.5.1 XML Web服务和数组
22.5.2 XML Web服务和类
22.5.3 Web服务和DataSet
22.5.4 Web服务和二进制文件
22.6 XML Web服务和网站的交互
22.6.1 XML Web服务和应用程序状态
22.6.2 XML Web服务和会话状态
22.7 小结

第23章 高级的XML Web服务

23.1 使用WebService行为
23.1.1 WebService行为的限制
23.1.2 用WebService行为创建简单的页面
23.1.3 使用WebService行为回调函数
23.1.4 缓存WebService行为中的错误
23.1.5 使用WebService行为执行部分更新
23.1.6 使用WebService行为获取数据库数据
23.2 保护XML Web服务
23.2.1 安全的XML Web服务
23.2.2 创建数据库表
23.2.3 创建Login( )方法
23.2.4 获取自定义的SOAP头
23.2.5 验证会话键
23.2.6 缓存会话键
23.2.7 建立安全的XML Web服务
23.2.8 访问安全的Web服务
23.3 使用HTML模式匹配
23.3.1 创建WSDL文档
23.3.2 指定正则表达式模式
23.3.3 创建简单的HTML模式匹配服务
23.3.4 在HTML模式匹配中使用输入参数
23.3.5 建立一个Six Degrees Web服务
23.4 小结

第七部分 利用.NET框架

第24章 操作集合和字符

24.1 使用集合
24.1.1 使用ArrayList集合
24.1.2 使用HashTable集合
24.1.3 使用SortedList集合
24.2 使用字符
24.2.1 对字符串进行格式化
24.2.2 使用String方法和属性
24.2.3 使用StringBuilder类
24.3 使用正则表达式
24.3.1 使用正则表达式类
24.3.2 研究正则表达式的元素
24.3.3 匹配单一字符
24.3.4 匹配特殊字符
24.3.5 匹配字符的替代序列
24.3.6 使用数量词进行匹配
24.3.7 正则表达式的超范围问题
24.3.8 捕获和反向引用
24.3.9 使用替换模式
24.3.10 设置正则表达式选项
24.4 小结

第25章 操作文件系统

25.1 使用文件和目录
25.1.1 创建和读取文本文件
25.1.2 创建和读取二进制文件
25.1.3 显示目录的内容
25.1.4 获取路径信息
25.2 使用串行化
25.2.1 使用二进制串行化
25.2.2 使用XML串行化
25.3 小结

第26章 发送电子邮件和访问网络

26.1 从ASP.NET页面发送电子邮件
26.1.1 Microsoft SMTP Service
26.1.2 发送简单的电子邮件
26.1.3 使用MailMessage类
26.1.4 向电子邮件消息添加附件
26.1.5 发送HTML电子邮件
26.2 使用Message Queuing
26.2.1 配置Microsoft Message Queuing
26.2.2 使用消息队列
26.2.3 向队列发送消息
26.2.4 从队列获取消息
26.2.5 显示消息体
26.2.6 发送和接收复杂的消息
26.3 使用HTTP协议访问其他网站
26.3.1 使用WebClient类
26.3.2 使用HttpWebRequest类
26.3.3 解析域名
26.4 小结

第27章 用GDI+动态创建图形

27.1 建立简单的图像
27.2 使用GDI+绘制对象
27.2.1 创建位图
27.2.2 使用Graphics对象
27.2.3 设置图形质量
27.2.4 使用颜色
27.2.5 使用画刷
27.2.6 使用画笔
27.2.7 绘制矩形
27.2.8 绘制直线
27.2.9 绘制椭圆
27.2.10 绘制曲线
27.3 绘制文本字符
27.4 建立GDI+应用程序
27.4.1 创建ASP.NET绘图应用程序
27.4.2 创建简单的图表应用程序
27.5 小结

第八部分 建立自定义的ASP.NET控件

第28章 开发自定义的控件

28.1 创建简单的控件
28.2 使用HtmlTextWriter
28.3 向控件添加属性和方法
28.3.1 使用属性访问函数
28.3.2 使用控件方法
28.4 解析内部内容
28.5 向控件添加子控件
28.6 自定义控件和事件
28.7 参与postback
28.8 创建组合控件
28.9 派生现有的控件
28.10 访问当前上下文
28.11 调试控件
28.12 小结

第29章 高级控件开发

29.1 向控件添加模板
29.1.1 创建一个模板的多个实例
29.1.2 向一个控件添加多个模板
29.2 创建DataBound控件
29.2.1 实现不同的数据源
29.2.2 实现简单的DataBound控件
29.2.3 使用DataBound控件和模板
29.2.4 使用DataBound控件和状态
29.2.5 将自定义控件绑定到DataSet
29.3 使用自定义控件和Web服务
29.3.1 创建特色产品Web服务
29.3.2 创建特色产品自定义控件
29.3.3 显示特色产品控件
29.4 小结

第九部分 ASP.NET应用程序示例

第30章 创建职业介绍网站

30.1 安装职业介绍网站
30.2 创建主页
30.3 对用户进行身份验证
30.4 创建虚拟URL
30.5 列和更新职位
30.6 创建职业介绍XML Web服务
30.7 小结

第31章 创建网上商店

31.1 ASP.NET Unleashed示例商店概述
31.2 安装ASP.NET Unleashed示例商店
31.3 建立导航系统
31.4 缓存产品数据
31.5 建立购物车
31.6 动态装载产品模板
31.6.1 使用LoadControl方法
31.6.2 code-behind产品模板
31.7 小结

第十部分 附录

附录A 从ASP迁移到ASP.NET
附录B HTML控件参考
附录C Web控件参考

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧