a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

Treeview動態添加用戶控件傳值和取值的實例代碼

2020-01-24 03:24:54
字體:
來源:轉載
供稿:網友

主要功能:勾選子節點的checkbox,右邊會動態加載該節點的信息,出現TextBox讓用戶填寫節點的值,點擊保存按鈕將文本框的值保存到對應的節點。
里面涉及到了asp執行ascx頁面里的事件,并取值。
這是前臺的代碼:CustomXMLmanager.aspx

復制代碼 代碼如下:

 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CustomXMLmanager.aspx.cs" Inherits="usexml.CustomXMLmanager" %>

  <%@ Register src=http://www.cnblogs.com/panan/archive////"Custom.ascx" tagname="Custom" tagprefix="uc" %>

  <!DOCTYPE html PUBLIC "-//WC//DTD XHTML .0 Transitional//EN" "http://www.w.org/TR/xhtml/DTD/xhtml-transitional.dtd">

  <html xmlns="http://www.w.org//xhtml">
  <head runat="server">
      <title></title>
 </head>
 <body>
 <script language="javascript" type="text/javascript">

     // 點擊復選框時觸發事件

     function postBackByObject() {

         var o = window.event.srcElement;

         if (o.tagName == "INPUT" && o.type == "checkbox") {

             __doPostBack("", "");

         }

     }
 </script>
     <form id="form" runat="server">
     <div>
             <asp:ScriptManager ID="ScriptManager" runat="server">
         </asp:ScriptManager>
  <asp:UpdatePanel ID="UpdatePanel" runat="server">
         <ContentTemplate>
     <table width="%" style="border: px dotted #00"><tr><td width="%">                
     <asp:TreeView ID="TreeView" runat="server" ImageSet="Simple" ShowCheckBoxes="Leaf"
             ShowLines="True"
             ViewStateMode="Enabled">
         <HoverNodeStyle Font-Underline="True" ForeColor="#DD" />
         <Nodes>
             <asp:TreeNode Text="個人信息" Value=http://www.cnblogs.com/panan/archive////"海洋信息數據集">
                 <asp:TreeNode Text="名字" Value=http://www.cnblogs.com/panan/archive////"數據名稱"></asp:TreeNode>
                 <asp:TreeNode Text="性別" Value=http://www.cnblogs.com/panan/archive////"數據格式"></asp:TreeNode>
                 <asp:TreeNode Text="年齡" Value=http://www.cnblogs.com/panan/archive////"數據摘要"></asp:TreeNode>
                 <asp:TreeNode Text="帥不帥" Value=http://www.cnblogs.com/panan/archive////"帥不帥"></asp:TreeNode>
                 <asp:TreeNode Text="漂不漂亮" Value=http://www.cnblogs.com/panan/archive////"漂不漂亮"></asp:TreeNode>
             </asp:TreeNode>
         </Nodes>
         <NodeStyle Font-Names="Tahoma" Font-Size="pt" ForeColor="Black"
             HorizontalPadding="0px" NodeSpacing="0px" VerticalPadding="0px" />
         <ParentNodeStyle Font-Bold="False" />
         <SelectedNodeStyle Font-Underline="True" ForeColor="#DD"
             HorizontalPadding="0px" VerticalPadding="0px" />
     </asp:TreeView>

     </td>
     <td style="background-color: #00; width: px"></td>
     <td>

         <asp:PlaceHolder ID="PlaceHolder" runat="server"></asp:PlaceHolder>
     </td>

     </tr></table>
        <div>

     </div>
         </ContentTemplate>
         </asp:UpdatePanel>

     </div>
       <div align="center"><asp:Button ID="Button" runat="server" Text="保存"
               onclick="Button_Click" /></div>
     </form>
 </body>
 </html>


這是后臺代碼:CustomXMLmanager.aspx.cs
復制代碼 代碼如下:

   using System;
   using System.Collections.Generic;
   using System.Linq;
   using System.Web;
   using System.Web.UI;
   using System.Web.UI.WebControls;
   using System.Reflection;
   namespace usexml
  {
      public partial class CustomXMLmanager : System.Web.UI.Page
      {
          protected void Page_Load(object sender, EventArgs e)
          {

              if (IsPostBack)
              {
                    //if (ViewState["node"] != null)
  //{
  //    nodes();

  //}
                  nodes();
              }

              TreeView.Attributes.Add("onclick", "postBackByObject()");

          }
          private void nodes()
          {
              int tg = 0;
              foreach (TreeNode nod in TreeView.CheckedNodes)
              {

                  nod.Target = tg.ToString();
                  Custom uc = (Custom)LoadControl("Custom.ascx");
                  uc.Nodname = nod.Text;
                  uc.Nodvalue = //www.5lwq4hdr.cn/panan/archive////nod.Value;
                  uc.Nodetag = nod.Target;
                  PlaceHolder.Controls.Add(uc);
                  tg++;
              }
          }
          protected void Button_Click(object sender, EventArgs e)
          {
              for (int i = 0; i < PlaceHolder.Controls.Count; i++)
              {
                  UserControl uc = (UserControl)PlaceHolder.Controls[i];

                  Type ucType = uc.GetType();

                  //用MethodInfo類來獲取用戶控件中的方法.

                  MethodInfo UcMethod = ucType.GetMethod("GetText");// Button_Click控件中的方法。

  //在此處頁面的方法中執行用戶控件中的方法.

                  object[] argumentArrray = new object[0];

                  UcMethod.Invoke(uc, new object[0]);//調用用戶控件中的方法。此處執行了??!。

                  foreach (TreeNode nod in TreeView.CheckedNodes)
                  {
                      PropertyInfo UctextName = ucType.GetProperty("PicName");
                      PropertyInfo tag = ucType.GetProperty("Nodetag");
                      if (nod.Target == tag.GetValue(uc, null).ToString())
                      {

                          nod.Value = //www.5lwq4hdr.cn/panan/archive////UctextName.GetValue(uc, null).ToString();//獲取了上傳的文件名信息。并顯示在 page 頁面上。
                      }
                  }
             }
         }
     }
 }


這是用戶控件的前臺:Custom2.ascx
復制代碼 代碼如下:

 <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Custom2.ascx.cs" Inherits="usexml.Custom2" %>
 <div>
 <asp:Label ID="Label1" runat="server" Text="Label" ForeColor="#006666"></asp:Label>
 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
 當前節點的值:<asp:Label ID="Label2" runat="server" Text="Label" ForeColor="#003366"></asp:Label>

 </div>

這是用戶控件的后臺:Custom2.ascx.cs
復制代碼 代碼如下:

  using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Web;
  using System.Web.UI;
  using System.Web.UI.WebControls;

  namespace usexml
  {
     public partial class Custom2 : System.Web.UI.UserControl
     {
         private string nodname = "";
         public string nodvalue = //www.5lwq4hdr.cn/panan/archive/2011/12/28/"";
         private string nodtag = "";
         private string picname = "";
         public string Nodname
         {

 
             get
             {
                 return nodname;
             }

             set
             {
                 nodname = value;

             }
         }

         public string Nodvalue
         {
             get
             {
                 return nodvalue;
             }
             set
             {
                 nodvalue = //www.5lwq4hdr.cn/panan/archive/2011/12/28/value;
             }
         }
         public string Nodetag
         {
             get
             {
                 return nodtag;
             }
             set
             {
                 nodtag = value;
             }
         }
         public string PicName
         {
             get { return picname; }
             set { picname = value; }

         }

         protected void Page_Load(object sender, EventArgs e)
         {
             Label1.Text = nodname+":";          
             Label2.Text = nodvalue;

         }

         public void GetText()
         {
   picname = TextBox1.Text;
          TextBox1.Text = "";
          Label2.Text = picname;

         }

     }
 }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日韩成人av在线 | 日韩一区二区三免费高清在线观看 | 日韩国产欧美精品 | 免费在线看黄 | 国产亲子乱弄免费视频 | 欧美成人一区二区 | 亚洲精品视频一区二区三区 | 欧美一级精品片在线看 | 黄色短视频在线观看 | 国产精品久久久久久久久免费高清 | 色综合久久久久综合99 | 久久呻吟 | 国产真实精品久久二三区 | 国产精品高潮呻吟久久av黑人 | 国产精品久久一区 | 97视频精品 | 国产精品久久久久久久午夜片 | 五月天在线婷婷 | 亚洲精品视频一区二区三区 | 日本天天操 | 91精品久久久久久久久久入口 | 日韩欧美一区二区三区久久婷婷 | 欧美日韩电影一区 | 久久一区国产 | 色综合天天综合网国产成人网 | 日韩免费区 | 五月婷婷色| 一区二区精品 | 成人性大片免费观看网站 | 91精品国产91久久久久久最新 | 国产精品日韩在线 | 国产精品禁久久精品 | 日韩一区精品视频 | 99精品在线观看 | 在线欧美亚洲 | 日韩毛片免费视频一级特黄 | 天堂在线一区二区 | 久久久www成人免费精品 | 成人黄色在线观看 | 999国产在线| 午夜a级理论片915影院 |