0

通过传递模型返回视图时遇到问题。

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 后,调试器没有点击 RouteConfig.cs

一点背景:我在 Umbraco 中创建了一个名为 home 的文档类型,它有一个子项编辑和登录

主页将显示一个表格,单击名称应该导航到编辑患者视图,因此我在单击患者姓名时将患者的 Id 传递给控制器​​,如上面的代码所示。

这样做我的 URL 从http://localhost:12345更改为http://localhost:12345/umbraco/Surface/Patient/Edit/345

一般来说,如果我们不使用表面控制器或 Umbraco,此 URL 可能类似于http://localhost:12345http://localhost:12345/Patient/Edit/345

我什至研究过路线劫持,但这对我没有帮助,或者可能是因为我缺乏理解。

非常感谢任何解决此问题的帮助。提前致谢

4

1 回答 1

0

Umbraco 要求 SurfaceController 名称附加“SurfaceController”才能正常工作:https ://umbraco.tv/videos/umbraco-v7/developer/fundamentals/surface-controllers/the-surface-controller/documentation

所以希望它就像将控制器重命名为 PatientSurfaceController 一样简单?

于 2020-02-24T08:38:56.327 回答