【问题标题】:How To call An Action In Umbraco Controller?如何在 Umbraco 控制器中调用动作?
【发布时间】:2017-12-10 02:11:58
【问题描述】:

我创建了一个别名为 Personal 的 Umbraco DocumentType 并创建了一个继承的控制器

Umbraco.Web.Mvc.RenderMvcController

我加了两个Actions,一个是默认动作,另一个叫Test

如何从Personal 控制器触发Test 操作?

public class PersonalController : Umbraco.Web.Mvc.RenderMvcController
{
    // GET: Personal
    public override ActionResult Index(RenderModel model)
    {
        return base.Index(model);
    }

    public String Test(RenderModel model)
    {
        return "fff";
    }
}

当我这样输入网址时:localHost/personal/test 它显示:

没有 umbraco 文档与 url '/test' 匹配。

哪个是对的,那我怎么称呼它?

【问题讨论】:

  • 你创建一个新的控制器,继承自 SurfaceController 并像 /umbraco/surface/{controller}/{action} 一样调用它
  • /umbraco/RenderMvc 显示在路由之前为什么会这样?

标签: asp.net-mvc model-view-controller controller umbraco umbraco7


【解决方案1】:

我会这样做

[HttpPost]
public ActionResult SubmitSearchForm(SearchViewModel model)
{
    if (ModelState.IsValid)
    {
        if (!string.IsNullOrEmpty(model.SearchTerm))
        {
            model.SearchTerm = model.SearchTerm;
            model.SearchGroups = GetSearchGroups(model);
            model.SearchResults = _searchHelper.GetSearchResults(model, Request.Form.AllKeys);
        }
        return RenderSearchResults(model.SearchResults);
    }
    return null;
}

public ActionResult RenderSearchResults(SearchResultsModel model)
{
    return PartialView(PartialViewPath("_SearchResults"), model);
}

有关此代码 sn-p 来源的完整上下文,请参阅此博客文章。

http://www.codeshare.co.uk/blog/how-to-search-by-document-type-and-property-in-umbraco/

【讨论】:

  • 还有一个问题,是否可以在视图中使用 rezor 创建会话,后端控制器是否可以看到它以及如何看到?
  • 对不起 IbraHim,我听不懂你在这里问什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-30
  • 1970-01-01
  • 2015-11-07
  • 2012-10-28
  • 2013-05-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多