我使用多个站点进行单一安装,使用两个内容根文件夹,并在不同的文件夹中具有不同的域/主机名。所以我可以使用不同的URL访问具有不同模板的两个站点。这很好。
现在,我有一个用户可以填写的表单(在两个站点上)。当用户提交它从两个站点成功保存并且确认链接被发送给用户(适用于两个站点)。我正在使用控制器来接受表格。
确认链接被发送到电子邮件,现在当用户点击链接时,这需要由另一个控制器处理,现在罪魁祸首显示在这里,当我使用一个域(url)时,它成功执行但是当使用另一个域时url它没有进行所需的操作。令人惊讶的是,调用了控制器构造函数,并且还调用了覆盖索引方法,但是没有执行另一个方法。
我的控制器是:
public class SampleResultContentController : RenderMvcController
{
private static readonly ILog Logger =
LogManager.GetLogger(
MethodBase.GetCurrentMethod().DeclaringType
);
public SampleResultContentController()
: base()
{
Logger.Info("initializing the constructor");
}
public override ActionResult Index(Umbraco.Web.Models.RenderModel model)
{
Logger.Info("overriding the base index");
return base.CurrentTemplate(model);
}
public ActionResult SampleConfirmation(RenderModel model)
{
Logger.Info("Executing the sample confirmation index");
}
}
网址是" {{domain}} / sample / confirm?token = EDIE3483T7ED23"
请帮助。
答案 0 :(得分:0)
为了将来的参考,它在umbraco论坛中被广泛使用:
所以这里的东西叫做"劫持模板"这意味着根据模板名称
调用操作了解更多细节 https://our.umbraco.org/documentation/reference/routing/custom-controllers