zoukankan      html  css  js  c++  java
  • 学习笔记1_控件静态ID_图标控件_Web配置文件转换

    • 控件静态ID
    1. 创建一个ASP.NET空项目,在项目中添加一个母版页
    2. 添加一个用户控件,在其中添加两个TextBox控件,一个使用默认ID生成方式,一个使用静态ID
    <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs" Inherits="WebApplication1.WebUserControl1" %>
    <asp:TextBox ID="TextBox1" runat="server">默认ID</asp:TextBox>
    <asp:TextBox ID="TextBox2" runat="server" ClientIDMode="Static">静态ID</asp:TextBox>

      3. 从母版页创建内容页,在页面上放置用户控件,然后再放置两个Button控件,一个使用默认ID,一个使用静态ID,注意添加用户控件的方法

    <%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true"
        CodeBehind="WebForm2.aspx.cs" Inherits="WebApplication1.WebForm2" %>
    
    <%@ Register TagPrefix="asp" TagName="WebUserControl" Src="~/WebUserControl1.ascx" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
        <script type="text/javascript" language="javascript">
            function getValue1() {
                var v = document.getElementById('TextBox2').value;
                alert(v);
            }
    
            function getValue2() {
                var v = document.getElementById('<%=WebUserControl1.textBoxId%>').value;
                alert(v);
            }
        </script>
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
        <ol>
            <li>注意控件ID,默认情况下控件的客户端ID值为其各级容器控件ID与控件本身ID的组合,查看源代码可以得知 </li>
            <li>注意用户控件的注册方法&#60%@ Register TagPrefix="asp" TagName="WebUserControl" Src="~/WebUserControl1.ascx"%&#62 </li>
            <li>获取默认ID或静态ID的文本的方法</li>
        </ol>
        <asp:WebUserControl ID="WebUserControl1" runat="server"></asp:WebUserControl>
        <asp:Button ID="Button1" runat="server" Text="获取默认ID里面的文本" OnClientClick="getValue2()" />
        <asp:Button ID="Button2" runat="server" Text="获取静态ID里面的文本" ClientIDMode="Static" OnClientClick="getValue1()" />
    </asp:Content>

       4. 运行页面,查看源代码.默认情况下,控件的客户端ID值为其各级容器控件的ID和控件本身ID的组合

       5. 如果要在浏览器操作两个TextBox控件,例如获取其中的文本,实现和工作量有较大的区别.对于静态ID控件来说,由于明确知道其客户端ID,因此JavaScript编写简单

            function getValue1() {
                var v = document.getElementById('TextBox2').value;
                alert(v);
            }

        6.要获取默认ID的控件的值.在用户控件添加一个public属性,通过此属性返回TextBox控件的客户端ID.在Web页面中,通过访问此属性得到TextBox控件的客户端ID,并应用与JavaScript代码中.

    public string textBoxId
    {
        get { return TextBox1.ClientID; }
    }
    • 图标控件
    1. 创建页面
    2. 拖拽控件Chart,添加数据源,可以选择Northwind,查询语句为"select CategoryName,CategorySales from Category Sales for 1997"
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ChartSample.aspx.cs" Inherits="WebApplication1.ChartSample" %>
    
    <%@ Register Assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        Namespace="System.Web.UI.DataVisualization.Charting" TagPrefix="asp" %>
    
    <!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 runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Chart ID="Chart1" runat="server" DataSourceID="SqlDataSource1" 
                Height="352px" Width="805px">
                <Series>
                    <asp:Series Name="Series1" XValueMember="CategoryName" 
                        YValueMembers="CategorySales" YValuesPerPoint="6">
                    </asp:Series>
                </Series>
                <ChartAreas>
                    <asp:ChartArea Name="ChartArea1">
                    </asp:ChartArea>
                </ChartAreas>
            </asp:Chart>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" 
                SelectCommand="SELECT [CategoryName], [CategorySales] FROM [Category Sales for 1997]">
            </asp:SqlDataSource>
        </div>
        </form>
    </body>
    </html>
    • Web配置文件转换
    1. 开发环境和部署环境下,数据库连接字符串不同,自定义错误也不同
    2. 在配置管理器中新建解决方案配置MyConfig
    3. 在解决方案中,右击Web.config文件,选择"添加配置转换"
    4. 首先打开Web.config,添加
      <connectionStrings>
        <add name="db1" connectionString="Data Source=.;Initial Catalog=DefaultDb;Integrated Security=True"/>
      </connectionStrings>

    打开Web.Debug.config文件,添加发布配置,比如发布数据库"DebugServer"

      <!--整个代码的含义为查找name值相同的连接字符串,并使用此处提供的新增设置原有属性-->
      <connectionStrings>
        <add name="db1"
          connectionString="Data Source=DebugServer;Initial Catalog=NorthWind;Integrated Security=True"
          xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
      </connectionStrings>

    打开Web.Release.config文件,添加发布配置"ReleaseSQLServer"

      <connectionStrings>
        <add name="db1"
          connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
          xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
      </connectionStrings>
    1. 在Visual Studio 工具栏中选择Release作为当前配置,然后发布项目.
    2. 发布成功后,可以看到连接字符串变为Web.Release.config中的字符串
    3. 当然,可以在MyConfig中详细配置,然后选择MyConfig作为当前配置,再次发布网站.
    4. 选择谁为当前配置,就以谁的配置为准.

    下载源文件

  • 相关阅读:
    在数组中的两个数字如果前面一个数字大于后面的数字, 则这两个数字组成一个逆序对。 输入一个数组,求出这个数组中的逆序对的总数
    输入一个正整数数组,把数组里所有数字拼接起来排成一个数。打印能拼接出所有数字中最小的一个
    输入一个整型数组,数组里有正数,也有负数。求所有子数组的和的最大值
    数组中有一个数字出现的次数超过数组长度的一半
    输入一个字符串,打印出该字符串中字符的所有排列
    输入一颗二叉搜索树,将该二叉搜索树转换成一个排序的双向链表
    输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径
    判断某数组是否是某二叉搜索树的后序遍历的结果
    栈的压人、弹出序列
    Valid Number
  • 原文地址:https://www.cnblogs.com/qingkongwanli/p/2789584.html
Copyright © 2011-2022 走看看