【问题标题】:Action of surfaceController not hitting表面控制器的动作没有击中
【发布时间】:2015-10-12 09:12:13
【问题描述】:

我使用了多站点和单一安装,使用两个内容根文件夹并在不同文件夹中具有不同的域/主机名。所以我可以使用不同的 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”

请帮忙。

【问题讨论】:

  • 网址不应该是{{domain}}/SampleResultContent/confirm?token=EDIE3483T7ED23吗?
  • 我是 Umbraco 的新手,但是这个 url 可以在一个域中正常工作。顺便说一句,我注意到构造函数和索引方法被调用。但是这个方法不仅被调用,而且问题只发生在第二个 url 上。

标签: c# .net umbraco umbraco7 multisite


【解决方案1】:

为了将来参考,它已在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

【讨论】:

    猜你喜欢
    • 2015-06-19
    • 2019-10-04
    • 2023-03-19
    • 1970-01-01
    • 2018-09-13
    • 2016-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多