我使用了多个站点,使用两个内容根文件夹,在不同的文件夹中有不同的域/主机名。所以我可以使用不同的url访问不同模板的两个网站。
现在,我有一个用户可以填写的表单(在两个站点上)。当用户从两个站点成功提交保存的文件并向用户发送确认链接时(在两个站点上都有效)。我使用控制器来接受表单。
和确认链接被发送到电子邮件,现在当用户点击链接,这需要由另一个控制器处理,现在的罪魁祸首显示在这里,当我做它使用一个域(url),然后它执行成功,但当使用另一个url它不去所需的行动。令人惊讶的是,控制器构造函数被调用,覆盖的索引方法也被调用,但另一个方法没有执行。
my controller is as
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");
}
}
url为"{{domain}}/sample/confirm?"令牌= EDIE3483T7ED23 "
请帮忙
为将来参考,在umbraco论坛中回答:
这就是所谓的"劫持模板"意思是基于模板名调用动作,
查看更多详细信息https://our.umbraco.org/documentation/reference/routing/custom-controllers
和umbraco论坛https://our.umbraco.org/forum/umbraco-7/using-umbraco-7/72079-action-of-surfacecontroller-not-hitting