首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

怎么用Web.config统一管理页面Url

2012-04-05 
如何用Web.config统一管理页面Url我尝试将站点页面的Url保存在站点配置中,来避免页面路径调整时要修改多处

如何用Web.config统一管理页面Url
我尝试将站点页面的Url保存在站点配置中,来避免页面路径调整时要修改多处Url的麻烦。

站点配置

XML code
<appSettings><add key="Name" value="asp_app" /><add key="MasterUrl_Frame" value="~/Frame.master" /></appSettings>


页面属性中用ExpressionBuilder获取配置的Url
C# code
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login" MasterPageFile="<%$ AppSettings:MasterUrl_Frame %>" %>


报错如下:
: 生成 (web): “<%$ AppSettings:MasterUrl_Frame %>”不是有效的虚拟路径。

而忽略这里,下面同样方式获取注册跳转链接却正常
C# code
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login" MasterPageFile="~/Frame.master" %><asp:Content ContentPlaceHolderID="ContentPlaceHolder" runat="server">    <div>        <asp:Login ID="lgn1" CreateUserText="注册" CreateUserUrl="<%$ AppSettings: PageUrl_Register %>" runat="server">        </asp:Login>    </div></asp:Content>



是否在<%@...%>段内不能访问web.config? 还是有其他原因?

求解~~

[解决办法]

用配置文件去管理一下路径是个很好的方法,

凡事出现三次以上要重复写的路径都应该考虑提出来管理

写在config文件中有利于修改,不用重新编辑。。。

读取用ConfigurationManager.AppSettings["Key名字"];
[解决办法]
头部那个 <%@ 
本身就是<%标签内了
[解决办法]

这个事件和Page_Load 事件一样,只是页面没有显示而以,你直接把下面事件复制到Page页面使用就可以了

//页面初始化事件
protected void Page_PreInit(object sender, EventArgs e)
{
ConfigurationManager.AppSettings["Key名字"]; 
}

热点排行