网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

将 ASP.NET UpdatePanel 控件与数据绑定控件一起使用

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/12/13

1 2 3 4 5 6 7 8 下一页

  可使用 UpdatePanel 和 ScriptManager Web 服务器控件来启用部分页呈现。UpdatePanel 控件标识可更新的页面区域。ScriptManager 控件跟踪页面上的 UpdatePanel 控件和触发要更新的 UpdatePanel 控件的控件。UpdatePanel 控件内导致回发的控件会自动标识为更新面板的触发器。还可以指定 UpdatePanel 控件外的控件。外部触发器可以是另一个 UpdatePanel 控件的子控件。

  在一个页面上使用多个 UpdatePanel 控件

  对于在一个页面上可以放置的 UpdatePanel 控件的数目没有限制。因此,可以指定独立于整个页面单独刷新且相互独立的多个页面区域。

  默认情况下,UpdatePanel 控件的 UpdateMode 属性设置为 Always。这意味着每当触发部分页刷新时,UpdatePanel 控件就会刷新页面,即使触发器不是针对该 UpdatePanel 控件的也是如此。若要确保 UpdatePanel 控件仅在已被触发时才刷新,可将 UpdatePanel 控件的 UpdateMode 属性设置为 Conditional。

  下面的示例包括两个 UpdatePanel 控件。一个控件包含接受用户输入的 Web 控件,另一个控件显示用户输入的内容。每个 UpdatePanel 控件的 UpdateMode 属性都设置为 Conditional 。因此,如果用户单击“取消”按钮来清除输入窗体的字段,则仅刷新 UpdatePanel 控件的输入窗体。如果用户单击“插入”按钮以提交窗体,则两个 UpdatePanel 控件都会刷新。

<%@ Page Language="VB" %> 
<%@ Import Namespace="System.Collections.Generic" %> 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 
<html XMLns="http://www.w3.org/1999/xhtml" > 
<head id="Head1" runat="server"> 
  <title>Enter New Employees</title> 
  <script runat="server"> 
    Private EmployeeList As List(Of Employee) 
 
    Protected Sub Page_Load() 
      If Not IsPostBack Then 
        EmployeeList = New List(Of Employee) 
        EmployeeList.Add(New Employee(1, "Jump", "Dan")) 
        EmployeeList.Add(New Employee(2, "Kirwan", "Yvette")) 
        ViewState("EmployeeList") = EmployeeList 
      Else 
        EmployeeList = CType(ViewState("EmployeeList"), List(Of Employee)) 
      End If 
 
      EmployeesGridView.DataSource = EmployeeList 
      EmployeesGridView.DataBind() 
    End Sub 
 
    Protected Sub InsertButton_Click(ByVal sender As Object, ByVal e As EventArgs) 
      If String.IsNullOrEmpty(FirstNameTextBox.Text) Or _ 
        String.IsNullOrEmpty(LastNameTextBox.Text) Then Return 
 
      Dim employeeID As Integer = EmployeeList(EmployeeList.Count - 1).EmployeeID + 1 
 
      Dim lastName As String = Server.HtmlEncode(FirstNameTextBox.Text) 
      Dim firstName As String = Server.HtmlEncode(LastNameTextBox.Text) 
 
      FirstNameTextBox.Text = String.Empty 
      LastNameTextBox.Text = String.Empty 
 
      EmployeeList.Add(New Employee(employeeID, lastName, firstName)) 
      ViewState("EmployeeList") = EmployeeList 
 
      EmployeesGridView.DataBind() 
      EmployeesGridView.PageIndex = EmployeesGridView.PageCount 
    End Sub 
 
    Protected Sub CancelButton_Click(ByVal sender As Object, ByVal e As EventArgs) 
      FirstNameTextBox.Text = String.Empty 
      LastNameTextBox.Text = String.Empty 
    End Sub 
 
    <Serializable()> _ 
    Public Class Employee 
      Private _employeeID As Integer 
      Private _lastName As String 
      Private _firstName As String 
 
      Public ReadOnly Property EmployeeID() As Integer 
        Get 
          Return _employeeID 
        End Get 
      End Property 
 
      Public ReadOnly Property LastName() As String 
        Get 
          Return _lastName 
        End Get 
      End Property 
 
      Public ReadOnly Property FirstName() As String 
        Get 
          Return _firstName 
        End Get 
      End Property 
 
      Public Sub New(ByVal employeeID As Integer, ByVal lastName As String, ByVal firstName As String) 
        _employeeID = employeeID 
        _lastName = lastName 
        _firstName = firstName 
      End Sub 
    End Class 
 
  </script> 
</head> 
<body> 
  <form id="form1" runat="server"> 
  <div> 
    &nbsp;</div> 
    <ASP:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" /> 
    <table> 
      <tr> 
        <td style="height: 206px" valign="top"> 
          <asp:UpdatePanel ID="InsertEmployeeUpdatePanel" runat="server" UpdateMode="Conditional"> 
            <ContentTemplate> 
             <table cellpadding="2" border="0" style="background-color:#7C6F57"> 
              <tr> 
               <td><asp:Label ID="FirstNameLabel" runat="server" AssociatedControlID="FirstNameTextBox" 
                       Text="First Name" ForeColor="White" /></td> 
               <td><asp:TextBox runat="server" ID="FirstNameTextBox" /></td> 
              </tr> 
              <tr> 
               <td><asp:Label ID="LastNameLabel" runat="server" AssociatedControlID="LastNameTextBox" 
                       Text="Last Name" ForeColor="White" /></td> 
               <td><asp:TextBox runat="server" ID="LastNameTextBox" /></td> 
              </tr> 
              <tr> 
               <td></td> 
               <td> 
                <asp:LinkButton ID="InsertButton" runat="server" Text="Insert" OnClick="InsertButton_Click" ForeColor="White" /> 
                <asp:LinkButton ID="Cancelbutton" runat="server" Text="Cancel" OnClick="CancelButton_Click" ForeColor="White" /> 
               </td> 
              </tr> 
             </table> 
             <asp:Label runat="server" ID="InputTimeLabel"><%=DateTime.Now %></asp:Label> 
            </ContentTemplate> 
          </asp:UpdatePanel> 
        </td> 
        <td style="height: 206px" valign="top"> 
          <asp:UpdatePanel ID="EmployeesUpdatePanel" runat="server" UpdateMode="Conditional"> 
            <ContentTemplate> 
              <asp:GridView ID="EmployeesGridView" runat="server" BackColor="LightGoldenrodYellow" BorderColor="Tan" 
                BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None" AutoGenerateColumns="False"> 
                <FooterStyle BackColor="Tan" /> 
                <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" /> 
                <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" /> 
                <HeaderStyle BackColor="Tan" Font-Bold="True" /> 
                <AlternatingRowStyle BackColor="PaleGoldenrod" /> 
                <Columns> 
                  <asp:BoundField DataField="EmployeeID" HeaderText="Employee ID" /> 
                  <asp:BoundField DataField="LastName" HeaderText="Last Name" /> 
                  <asp:BoundField DataField="FirstName" HeaderText="First Name" /> 
                </Columns> 
                <PagerSettings PageButtonCount="5" /> 
              </asp:GridView> 
              <asp:Label runat="server" ID="ListTimeLabel"><%=DateTime.Now %></asp:Label> 
            </ContentTemplate> 
            <Triggers> 
              <asp:AsyncPostBackTrigger ControlID="InsertButton" EventName="Click" /> 
            </Triggers> 
          </asp:UpdatePanel> 
        </td> 
      </tr> 
    </table> 
  </form> 
</body> 
</html> 
 

(责任编辑:admin)

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号