如何在服务器上解决“传入字典的模型是字符串类型但需要对象”,本地主机没问题
Posted
技术标签:
【中文标题】如何在服务器上解决“传入字典的模型是字符串类型但需要对象”,本地主机没问题【英文标题】:How to solve "model passed into the dictionary is of type string but requires object" just on server, local host okay 【发布时间】:2017-02-18 17:18:49 【问题描述】:我创建了一个局部视图,我重复使用了两次。我用下面的代码将此部分视图称为:
@html.Partial("_TekstBewerker", Model.Text)
属性Model.Text
是一个字符串,不为空。在下图中,您可以找到我的部分视图的代码,左边是服务器上的当前版本,右边是发布后的代码。
你看到代码是相同的两倍,但在服务器上我有这个异常:
InvalidOperationException
:传入字典的模型项的类型为String
,但此字典需要NieuwBlogViewModel
类型的模型项。
在发布我的部分视图的新版本之前,模型确实是NieuwBlogViewModel
而不是String
。这必须更新,但事实并非如此。
在本地主机上我对这段代码没有任何问题。
哦,是的,差点忘了说我已将部分视图替换为 Shared
文件夹而不是 Admin
文件夹。最后一个文件夹是我的局部视图的先前位置。
这可能是异常的问题吗?我该如何在服务器上解决这个问题?
【问题讨论】:
@Html.Partial("~/Views/Folder/ViewName.cshtml") 试试吧 【参考方案1】:似乎当您将部分从一个地方移动到另一个地方时,旧文件以某种方式保留在服务器上 - 它没有被删除。由于 ASP.NET MVC 使用约定按顺序扫描文件夹,因此它首先选择旧文件。确保它在服务器上从旧位置删除。当您明确指定文件的位置时,ASP.NET MVC 将直接使用新文件,这就是它工作的原因,但通常最好还是依赖约定。
【讨论】:
【参考方案2】:通过@BalajiMarimuthu 的评论,我找到了正确的解决方案。现在我使用这段代码:
@Html.Partial("~/Views/Folder/ViewName.cshtml", Model.text)
现在我只有一个问题:为什么我的问题中的情况在服务器上不起作用?
【讨论】:
以上是关于如何在服务器上解决“传入字典的模型是字符串类型但需要对象”,本地主机没问题的主要内容,如果未能解决你的问题,请参考以下文章
在 ubuntu 服务器上部署 vuejs 应用程序时如何解决剪贴板错误