C# MVC 引用 Ext.Net.Mvc中出现未定义

来源:互联网 发布:山海经真实性知乎 编辑:程序博客网 时间:2024/06/05 05:19

初学MVC遇到了很多问题,现在只是解决了几个小问题就已经让我抑制不住的来和大家分享了,毕竟这个问题让我费神了好几天。

从我一开始的问题讲起吧,我是打算跟着一个已有的网站项目例子照着做的,一步一步慢慢来,进度很慢,不过我想着如果能把这个例子做好,那么以后的做网站的过程也都是这样的,照葫芦画瓢嘛,所以就在进行过程中。。。

另外需要注意的是这个项目需要用到ext框架,Ext是一套富客户端框架,提供一套风格一致,集成良好的组件库,开发出漂亮实用,功能强大的前端来。ExtJS可以用来开发RIA也即富客户端的AJAX应用,是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用中。

首先,我在新建一个项目时,自然选择的是MVC项目,我选择了Internet应用程序模板,在写index.cshtml(这是Razor语言,有关于Razor和Aspx的区别的,在这里我就懒得写了额,有位博主讲的很好,大家可以去看看,网址:http://blog.csdn.net/wangyongxia921/article/details/38781129)时,定义var X = Html.X();这句话,但是提示错误,说“System.Web.Mvc.HtmlHelper<dynamic>”不包含“X”的定义,并且找不到可接受类型为“System.Web.Mvc.HtmlHelper<dynamic>”的第一个参数的扩展方法“X”(是否缺少 using 指令或程序集引用?) ,出现了错误自然需要找到错误,解决它了。然后我就搜索HtmlHelper,了解到HtmlHelper是用来在视图中呈现 HTML 控件,在MVC中用到,简化操作,当我们想要获取Html标签时可能要写一长串,但是用HtmlHelper可以直接写成Html.TextBox(),不过有些标签是HtmlHelper没有的,这时就需要我们自己去定义,大家可以参考:http://bbs.csdn.net/topics/390939791/          http://blog.csdn.net/limlimlim/article/details/20620717。

好了,到现在我觉得我就是缺少一个关于X的定义了,于是我就在模板网站中找定义,因为我想找到之后看他是怎么写的不就行了,然后我在后面的X处按F12就转到定义了,这时,转到的是GeneralExtensions从元数据,我就打开文件夹吧,看他放在哪里了,就找到了C:\Users\zcc\AppData\Local\Temp\56236$Ext.Net.dll$v4.0.30319$NoDynamic这个文件夹,我就纳闷为什么不放在项目文件夹里,为什么我的电脑还有这个文件,我就在我C盘里找,奇怪的复制文件路径能找到,但一个一个点文件夹就找不到了,疑问,,,,,   于是开始各种百度,原来是隐藏了APPData文件,怪不得找不到呢,就在文件的查看里显示了隐藏的文件夹,OK,终于找到了,我想把文件GeneralExtensions.cs复制过去,可是又不知道复制到哪里,就又从元数据下手,http://bbs.csdn.net/topics/340003014 。。了解到元数据是从dll文件引用的,我就查看我的引用文件和模板网站的引用文件有什么区别,因为我用的是ext,刚开始配置的时候我是在 项目->管理NuGet程序包->搜索ext.net下载并自动安装的,所以像Ext.Net.dll,Ext.Net.Utilities.dll这些我都有的,但是经过n久之后我才发现我的Ext.Net.dll和模板网站的Ext.Net.dll是不一样的,少了Ext.Net.MVC,这时我就知道错在哪里了,于是我就把那个dll文件复制过来了。


有的引用过来还是会提示未定义,这时可以在index.cshtml页面头加上 @using Ext.Net.MVC,有时还需要加上@using Ext.Net; 这样就可以了。


写完我发现可能对你们也没有什么帮助,或者都没明白我要讲的是什么,深感抱歉,文字功底薄弱,以后会加强的,见谅哟!虽然你们没有模板可以复制,我觉得还是可以了解到以后遇到这种问题该怎么一步步查看的,大笑.


0 0
原创粉丝点击