Server.Transfer在umbraco中使用alttemplate

时间:2013-05-23 14:43:05

标签: c# umbraco

我有2个模板用于单个节点。基于用户代理,我使用Response.Redirect(“?alttemplate = template2”)重定向到相应的模板。

我尝试了 Server.Transfer(“/?alttemplate = template2”,true); 但没有用。

是否可以使用Server.Transfer方法执行相同的操作。提前谢谢。

2 个答案:

答案 0 :(得分:2)

Server.Transfer不能与Umbraco一起工作(至少我从来没有让它工作)。我相信这是因为它没有触发所有必要的Umbraco事件来正确连接模板。

正如道格拉斯所说,你可以使用Response.Redirect(事实上你应该,因为你正在改变URL)。

另一个选项是连接到页面OnPreInit事件,此时您可以使用页面的MasterPageFile属性更改页面模板。这假设你使用的是Asp.Net MasterPages模板,如果你使用的是MVC页面,我不知道你是怎么做的。

答案 1 :(得分:1)

我建议使用Response.Redirect,因为Server.Transfer不使用查询字符串。请参阅server.Transfer with query stringQuery string in Server.Transfer

有关详细信息,请参阅Server.Transfer Vs. Response.Redirect