You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sitefinity 14.1 Widget为何解析URL路径?路由匹配逻辑疑问

Sitefinity Widget路由行为疑问

我创建的Widget代码

控制器代码

[ControllerToolboxItem(Name = "MyFirstWidget", Title = "My First Widget", SectionName = "Custom")]
public class MyFirstWidgetController : Controller, IPersonalizable
{
    public ActionResult Index()
    {
        var model = new MyFirstWidgetModel();
        model.Message = this.Message;
        return View("Index", model);
    }

    public ActionResult Test()
    {
        return View("Test", model);
    }   

    public string Message { get; set; }  
}

视图文件

Index.cshtml

@model Learn_SF.Mvc.Models.MyFirstWidgetModel
<div>
    @Model.Message
</div>

Test.cshtml

<div>
    This is test
</div>

配置与测试情况

将该Widget添加至两个页面——Home和Test(Test页面隶属于Home),并分别设置Message值为“Content from home page”和“Content for test page”。

测试URL及显示内容如下:

URLContent Displayed
1. /homeContent for home page. /符合预期/
2. /home/test404错误。/创建Test页面之前的结果,符合预期/
3. /home/testContent for test page. /创建Test页面之后的结果,符合预期/
4. /home/test/testThis is test.

疑问

对于第4种情况,URL的最后一个片段似乎被识别为控制器方法,但同样的逻辑并未应用在第2种情况中。为何Widget会根据URL查找后端方法?我原本预期每个Widget默认仅调用Index方法。若这是默认行为,当页面与控制器方法同名时,系统如何区分是查找页面还是控制器方法?使用版本为Sitefinity 14.1。

内容的提问来源于stack exchange,提问作者sukesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 21:13:22