zoukankan      html  css  js  c++  java
  • 关于.net项目从vs2003升级到2005的若干问题

    本人刚学习VS2.0,诸多问题,请勿见笑。

    1.项目从2003转换成2005版本:用VS2005直接打开项目文件就会自动转换,注意保存备份,不然转换失败还可以恢复。
    2.似乎2005中.cs文件里控件的声明都取消了,所以我一个js内部嵌入了一个Literal控件,转换后.cs文件里就说已经有了声明,注释掉就可以了。
    3.转换后运行后发现报错:
    Parser Error Message: Unrecognized configuration section ’xhtmlConformance’
    Source Error:


    是只要在IIS里的ASP.net选项卡中选择到2.0就可以了。

    4.使用MasterPage

    • 如同使用Theme可以格式化整个网站各个控件的显示模式一样,Master Page可以用来定义网站中不同网页的相同部分,例如整个网站都包括同样的格局,同样的页头,同样的页脚,同样的导航栏。这个时候,可以把这些控件定义在一个masterpage上。其他网页只需要继承这个Masterpage即可。
    • Master page文件本身的写法和其他aspx页面并没有什么不同,主要的区别在于,Master page包含一个ContentPlaceHolder ,这个控件定义了一些可以被其他页面继承的区域,该区域内可以被其他页面用来摆放自己的控件。

    eg: Master page文件MyMaster.master

    <%@ Master Language="VB" CodeFile="MyMaster.master.vb" Inherits="MyMaster" %>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <title>Untitled Page</title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>
    <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
    </asp:contentplaceholder>
    <br />
    <asp:AdRotator ID="AdRotator1" runat="server"  DataSourceID="XmlDataSource1"/>
    <asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/ads.xml">
    </asp:XmlDataSource>
    </div>
    </form>
    </body>
    </html>
    

    Master page文件可以拥有自己的服务器端代码文件,该文件定义了一个contentplaceholder控件为了给继承的页面使用控件定义了一个AdRotator(广告)控件和它关联的数据源XmlDataSource 任何继承MyMaster.master的aspx文件都会在下方有一个广告条!
    format.aspx

    <%@ Page Language="VB" MasterPageFile="~/MyMaster.master" AutoEventWireup="false"
    CodeFile="frommaster.aspx.vb" Inherits="frommaster" title="Untitled Page" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <asp:Label ID="Label1" runat="server" Text="name"></asp:Label>
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" Text="submit" />
    <br />
    <asp:Label ID="Label2" runat="server">
    </asp:Label>
    </asp:Content>
    

    注意事项

    • 1.在*.aspx文件中无法动态的改变*.master文件中的控件的状态
    • 2.如果在Master Page中定义了Theme,VS2005会进行警告。实际运行将以子页面的theme为基准
    • 3.在web.config中可配置master page为整个站点使用
    <configuration>
    <system.web>
    <pages masterPageFile="~/Site.master" />
    </system.web>
    </configuration>
    
    • 4.动态应用Master Page
    void Page_PreInit (Object sender, EventArgs e)
    {
    Page.MasterPageFile = "~/Site.master";
    }
    
    • 5.操作Master Page中的控件 (弱类型)
    <asp:Label ID="Title" RunAt="server" />
    ((Label) Master.FindControl ("Title")).Text = "Orders";
    
    • 6.操作Master Page中的控件 (强类型)
    <asp:Label ID="Title" RunAt="server" />
    .
    .
    .
    <script language="C#" runat="server">
    public string TitleText
    {
    get { return Title.Text; }
    set { Title.Text = value; }
    }
    </script>
    content page加入如下声明
    <%@ MasterType VirtualPath="~/Tree.master" %>
    这样Asp.net编译器会为我们生成一个强类型的Master属性(在页面文件的CS文件的类中).
    这样,我们就可以直接通过Master.Info来操作MasterPage上的东西.
    调用如下
    Master.TitleText = "Orders";
    
    • 7.响应Master Page的事件

    ContentPage要响应MasterPage页上某些控件的事件(例如:Button).
    和Scenario 1提到的一样,可以把MasterPage的Button当做属性暴露出来,
    在ContentPage页对其的Click事件进行订阅.但这样造成MasterPage和ContentPage页的藕合太高.
    更好的Pattern应该是在App_Code中定义事件,委托.在MasterPage中定义事件,并且暴露该事件.
    这样在ContentPage中就可以订阅该事件.

    • 8.Master Page嵌套

    Master Page可以嵌套使用,嵌套的Master Page只能含有Content控件,
    但Content控件本身可以再嵌套 ContentPlaceHolders控件。

    <!-- Orders.Master -->
    <%@ Master MasterPageFile="~/Site.Master" %>
    <asp:Content ContentPlaceHolderID="..." RunAt="server">
    <asp:ContentPlaceHolder ID="..." RunAt="server">
    ...
    </asp:ContentPlaceHolder>
    <asp:Content>
    
  • 相关阅读:
    事件的截获
    页面嵌入dom与被嵌入iframe的攻防
    如何在windows下安装JDK
    Java and C# Comparison
    利用hadoop来解决“单表关联”的问题
    Oracle10GODP连接11G数据库,出现ORA
    sql 2005出现错误:数据库 'Twitter' 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。
    MapReduce 模式、算法和用例
    利用hadoop来解决“共同好友”的问题
    部署hadoop的开发环境
  • 原文地址:https://www.cnblogs.com/Tmouse/p/637171.html
Copyright © 2011-2022 走看看