asp.net-mvc – ASP.NET MVC View可以使用来自不同项目的模型吗
我在
WPF项目中有一个名为Node的ADO.NET Entity Framework类.我想在同一解决方案中的不同ASP.NET MVC项目中使用它.
我的节点控制器: Public Class NodeController Inherits System.Web.Mvc.Controller Function Display(ByVal id As Guid) As ActionResult Dim db As New WpfApplication1.Model1Entities Dim m As WpfApplication1.Node = (From n In db.Node _ Where n.Id = id _ Select n).First Return View(m) End Function End Class 当我运行项目并尝试导航到http://…/Node/Display/ [有效ID]时 我的显示操作出错:
我读过这个错误可能是由于a codebehind class naming conflict.但我认为这不是这种情况. 我是否可以不使用其他项目中的模型来创建强类型的ASP.NET MVC视图? 更新1: 我已经尝试在Display.aspx页面上导入命名空间,但没有 <%@ Import Namespace="WpfApplication1" %> 要么 <%@ Import Namespace="SolutionName.WpfApplication1" %> 要么 <%@ Import Namespace="SolutionName.WpfApplication1.Model1Entities" %> 防止错误. 更新2: 我已经尝试将命名空间添加到我的Views / Web.config文件中,但不是 <add namespace="SolutionName.WpfApplication1" /> 也不 <add namespace="SolutionName.WpfApplication1.Model1Entities" /> 防止错误. 更新3: 自从添加命名空间后,我现在收到此警告:
这是一个线索吗? 更新4: 我已将模型从我的WpfApplication1移动到新的ClassLibrary1. 我清理了控制器. Imports ClassLibrary1 Public Class NodeController Inherits System.Web.Mvc.Controller Function Display(ByVal id As Guid) As ActionResult Dim db As New Model1Entities Dim m As Node = (From n In db.Node _ Where n.Id = id _ Select n).First Return View(m) End Function End Class 我清理了我的视图. <%@ Import Namespace="ClassLibrary1" %> <%@ Page Title="" Language="VB" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage(Of Node)" %> 我不再看警告. 但我仍然得到运行时错误. 解决方法
仔细检查您的Views / Web.config是否具有引用项目的命名空间:
<system.web> <pages> <namespaces> <add namespace="SolutionName.WpfApplication1.Model1Entities" /> </namespaces> <pages> </system.web> 更新: 我没有任何WPF应用程序来测试它……我以为你试图使用“类库”项目.这肯定会奏效.是否有可能稍微重构您的应用程序以将“模型”拉出到他们自己的项目中?这样您就可以将其编译为类库. 更新2: 奇怪的是,这几乎就像你的页面没有正确地从System.Web.Mvc继承.确保您的Views / Web.config看起来像这样: <?xml version="1.0"?> <configuration> <system.web> <httpHandlers> <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/> </httpHandlers> <pages validateRequest="false" pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter,System.Web.Mvc,Version=1.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35" pageBaseType="System.Web.Mvc.ViewPage,PublicKeyToken=31BF3856AD364E35" userControlBaseType="System.Web.Mvc.ViewUserControl,PublicKeyToken=31BF3856AD364E35"> <controls> <add assembly="System.Web.Mvc,PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" /> </controls> <namespaces> <add namespace="SolutionName.WpfApplication1.Model1Entities"/> </namespaces> </pages> </system.web> <system.webServer> <validation validateIntegratedModeConfiguration="false"/> <handlers> <remove name="BlockViewHandler"/> <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler"/> </handlers> </system.webServer> </configuration> 更新3:运行时错误看起来不像是MVC项目. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 我应该将哪一个用于“匿名用户身份”? “特定用
- asp.net – MasterPage.Master>下次将哪个页面作为孩子加载
- asp.net – 以编程方式将HTML转换为Markdown语法
- ASP.NET Web.config中的相对路径
- ASP.NET成员资格getuserbyID
- 为什么[System.ComponentModel.ToolboxItem(false)]默认来自
- asp.net – DropDownList烦恼:相同的值不会触发事件
- asp.net – 如何通过代码有选择地禁用浏览器文本输入中的自
- asp.net – IIS 7 URL重写规则未应用
- asp.net-mvc-3 – 带有附加HTML的MVC3 Html.BeginForm()
- asp.net-mvc-4 – 为什么我们需要MVC中的Web API
- ASP.NET MVC:经过几分钟的缓慢访问,然后每次以下
- 谈基于.net平台开发中的模式窗体
- 在servicestack中使用asp.net身份验证
- asp.net – 减轻Web服务器上的RsaCryptoServiceP
- 当我使用ASP.NET传输文件时,为什么IIS7会忽略我的
- asp.net-mvc – MVC 4:多个控制器动作参数
- asp.net-mvc-4 – 一旦SetCacheability方法设置了
- asp.net-mvc – 如何从对象HtmlAttributes中获取
- 深蓝词库转换1.3版本发布——增强单词注音功能