ASP.NET3.5中如何使用ListView控件(三)

原创|其它|编辑:郝浩|2009-06-11 11:38:03.000|阅读 1274 次

概述:ASP.NET的新ListView控件为显示和CRUD数据库操作提供了基于模板的布局,使其成为构建以数据为中心的Web应用程序的方法。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

  在Listing 2中的代码演示了如何使用EditItemTemplate元素来产生当一个项目在编辑模式时的内容,并通过SqlDataSource控件更新数据库。 首先,你要设置SqlDataSource控件的UpdateCommand属性到SQL语句,它将被执行来更新被用户指定的最新的值的数据库:

         < asp:SqlDataSource ID="deptSource" runat="server"
  ConnectionString="< %$ ConnectionStrings:AdventureWorks %>"

  SelectCommand="SELECT [DepartmentID],[Name],[GroupName] FROM

  HumanResources.Department" UpdateCommand="UPDATE

  HumanResources.Department SET Name = @Name,

  GroupName = @GroupName WHERE DepartmentID = @DepartmentID">

  < /asp:SqlDataSource>
 
  接下来,在ItemTemplate元素中,你可以指定链接用户可以点击来编辑一个项目:

         < ItemTemplate>
  ----

  ----

  < asp:LinkButton ID="btnEdit" runat="Server" Text="Edit"

  CommandName="Edit" />

  < /td>

  < /tr>

  < /ItemTemplate>
 
  之后,你可以指定EditItemTemplate,是声明用户进入更新的Name 或 GroupName

  的文本框,和用户用来承认("Update") 或取消("Cancel")目前操作的连接。

         < EditItemTemplate>
  < tr style="background-color: #ADD8E6">

  < td>

  < asp:TextBox ID="txtName" runat="server"

  Text='< %# Bind("Name") %>'

  MaxLength="50" />< br />

  < /td>

  < td>

  < asp:TextBox ID="txtGroupName" runat="server" Text='< %#

  Bind("GroupName") %>' MaxLength="50" />< br />

  < /td>

  < td>

  < asp:LinkButton ID="btnUpdate" runat="server"

  CommandName="Update" Text="Update" />

  < asp:LinkButton ID="btnCancel" runat="server"

  CommandName="Cancel" Text="Cancel" />

  < /td>

  < /tr>

  < /EditItemTemplate>
 
  通过设置CommandName属性一个恰当的值,你可以定义LinkButton的行为,如表2所示:

     

  表2:LinkButton CommandName值: 这里是控制ListView行为的CommandName属性的可接受的值的列表:

  Value Description

  Cancel 取消当前操作。

  Delete 删除从数据源中当前选定的项目。

  Edit 打开ListView编辑模式,并显示在EditItemTemplate元素中指定的内容。

  Insert 将在数据源控件中的值保存到数据源作为一个新记录。

  Update 更新数据源和在数据源控件中的值。

  在更新的最后,ListView控件引起一个OnItemUpdated事件,你可以使用它向用户确定更新状态。在Listing 2中的代码,ListView控件处理两个事件:

    

  OnItemUpdated: 正如名字所示,这个事件让你在更新操作的最后执行一个自定义的routine。在上面的代码中,这个事件用于通知用户受影响的记录的数量。

  OnPagePropertiesChanged: 当网页属性改变时,ListView会用这个事件。列出的代码使用这个事件来清理包含在标签控件中的文本。

  随着ListView配置完成,如果你用浏览器导航网页,你会看到和图2一样的输出:

  当你点击Edit超链接的时候,ListView使用EditItemTemplate来显示文本框,那里是用户可以编辑已选项目的地方,如图3所示:

        

  注意在编辑模式中的右边栏里的Update 和 Cancel。当你点击Update 链接来将更改保存回数据库的时候,使用OnItemUpdated事件的代码会显示记录影响的数据(参见图4)

  现在完成了ListView控件的主要特征。你已经看到使用它来创建一个简单的数据驱动的网页例子和一个利用控件声明式的更新功能,通过指定恰当的编辑和确认标记。最后,你也看到了如何处理ListView控件产生的事件。正如你所看到的,ListView的可扩展性让你很简单的自定义你所需要的运行时间。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:IT专家网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP