初学者ASP.NET C#关于动态更改母版页的问题
好吧,事情是这样的。。。您获取用户的IP地址,并根据他/她的国家/地区将用户重定向到特定网页。现在,如何动态更改母版页?以下是我重定向用户的方式:- 这不像是用户单击某个按钮或其他东西,然后更改母版页。我希望在用户被重定向时更改它,那么我该如何做呢初学者ASP.NET C#关于动态更改母版页的问题,c#,asp.net,C#,Asp.net,好吧,事情是这样的。。。您获取用户的IP地址,并根据他/她的国家/地区将用户重定向到特定网页。现在,如何动态更改母版页?以下是我重定向用户的方式:- 这不像是用户单击某个按钮或其他东西,然后更改母版页。我希望在用户被重定向时更改它,那么我该如何做呢 public partial class testClass: System.Web.UI.MasterPage { protected void Page_Load(object sender, EventArgs e) {
public partial class testClass: System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
if (redirected to site1)
{
Use this master page1
}
else
if (redirected to site2)
{
Use this master page2
}
}
}
那么,我如何检查用户被重定向到哪个站点呢?还有,既然用户已被重定向,如何应用特定的母版页
我只是想知道怎么做
[EDIT]请检查下面的代码块。如何获取用户已重定向到的URL?实际上,我只需要“iso3166TwoLetterCode”变量的值(请参见我前面问题的链接),并基于此更改母版页。我不知道如何在testClass中获取该值,甚至无法使用该类(包含此变量)
protected void Page_PreInit(object sender, EventArgs e)
{
if (user Has been redirected to www.site.in )
{
this.MasterPageFile = "master1.master";
}
if (user Has been redirected to www.site.fr )
{
this.MasterPageFile = "master2.master";
}
}
听起来你并没有重定向到另一个站点,只是将它们发送到一个带有类似“language=en”的查询字符串的页面。如果是这样,那么您需要使用
Request.QueryString
获取它,并将其附加到基本母版页名称中。要查找国家/地区双字母代码,请执行此示例代码的操作:
然后,您可以尝试以下操作来更改主控形状:
protected void Page_PreInit(object sender, EventArgs e)
{
this.MasterPageFile = "NewMasterSite.master";
}
好的。如果它是一个网页。我希望如何获取URL(例如www.mysite.in),然后使用“Request.QueryString”进行检查。之后如何更改母版页?根据您的示例,您根本不使用QueryString。相反,您可能在虚拟服务器上设置了多个子域。在这种情况下,请尝试
Request.Uri
。如果这不起作用,Request.ServerVariables[“Host”]
将起作用。请允许我自己更正:HTTP头称为“Host”,但您必须在这里通过“HTTP\u Host”引用它。或者,我认为“URL”可以满足您的要求。您能检查一下我刚才添加的其他详细信息吗??Thnx找到了如何从url获取代码..这里有帮助吗
protected void Page_PreInit(object sender, EventArgs e)
{
this.MasterPageFile = "NewMasterSite.master";
}