0

我可以使用在 masterpage 上导入的命名空间吗?

我可以像这样在母版页上导入和使用命名空间..

<%@ Import Namespace="utl=portal.lib.SnkUtilities" %>

和标记;

<a href='<%= "/" + utl.getSomeString() + "/cart.aspx" %>'>

但是如果想在内容页面上使用相同的命名空间,我必须第二次在内容上导入相同的命名空间,如下所示:

    <%@ Page Title="" Language="C#" MasterPageFile="~/Master" AutoEventWireup="true" CodeBehind="Account.aspx.cs" Inherits="portal.secret.Account" %>
    <%@ Import Namespace="utl=portal.lib.SnkUtilities" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<%= utl.getAnotherString() %>
    </asp:Content>

你有什么建议吗 ?

提前致谢

4

1 回答 1

1

你想先读取母版页,但是在页面生命周期中,母版页是在页面请求之后读取的,所以你必须在每个页面中包含命名空间。它首先在当前页面中查找,如果在编译时没有找到它,您将得到错误。

当页面被获取时,@Page 指令被读取。如果指令引用母版页,则也读取母版页。如果这是第一次请求页面,则编译两个页面。

从页面末尾读取母版页的运行时行为

请注意,母版页成为内容页的一部分。实际上,母版页的行为方式与用户控件的行为方式非常相似——作为内容页面的子页面和该页面中的容器。

于 2011-05-29T08:16:16.720 回答