Umbraco 路由或模型绑定
Posted
技术标签:
【中文标题】Umbraco 路由或模型绑定【英文标题】:Umbraco Routing or Model binding 【发布时间】:2020-02-24 04:26:14 【问题描述】:通过传递模型返回视图时遇到问题。
errorMessage 无法将源类型 eCaptis.Models.Patient 绑定到模型类型 Umbraco.Core.Models.PublishedContent.IPublishedContent。
public class PatientController : SurfaceController
public ActionResult Edit(int? id)
if (id == null)
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
Patient patient = db.Patients.Find(id);
if (patient == null)
return HttpNotFound();
return PartialView( patient);
我可能怀疑路由有问题,因为在安装 Umbraco v8 后,Debugger 没有点击 RouteConfig.cs
背景知识:我在 Umbraco 中创建了一个名为 home 的文档类型,它有一个子项编辑和登录
主页将显示一个表格,单击名称应该导航到编辑患者视图,因此我在单击患者姓名时将患者的 Id 传递给控制器,如上面的代码所示。
这样做我的 URL 将从 http://localhost:12345 更改为 http://localhost:12345/umbraco/Surface/Patient/Edit/345
一般来说,如果我们不使用表面控制器或 Umbraco,此 URL 可能类似于 http://localhost:12345 到 http://localhost:12345/Patient/Edit/345
我什至研究过路线劫持,但这对我没有帮助,或者可能是因为我缺乏了解。
非常感谢任何解决此问题的帮助。 提前致谢
【问题讨论】:
【参考方案1】:Umbraco 要求 SurfaceController 名称附加“SurfaceController”才能正常工作:https://umbraco.tv/videos/umbraco-v7/developer/fundamentals/surface-controllers/the-surface-controller/documentation
所以希望它就像将控制器重命名为 PatientSurfaceController 一样简单?
【讨论】:
以上是关于Umbraco 路由或模型绑定的主要内容,如果未能解决你的问题,请参考以下文章
Umbraco 8 模型生成器无法找到 doctype 生成的文件