分类: MVC

MVC5配合Ninject的使用范例

网上Ninject的资料大都是MVC3或更早的,少有的几个MVC5的写的也挺麻烦的,又改 Global.asax 又自建解析器类什么的,自己尝试了一下,发现其实现在的Ninject的MVC5插件配置真的非常简单了,下面就来演示一下操作步骤: 首先创建Web项目: 类型设为MVC: 然后管理项目的NuGet包: 搜索Ninject,安装Ninject.MVC5 PS:NuGet服务器经常被墙,不成功就果断挂VPN吧。 可以看到安装程序包列表,接受之: 然后创建测试用的类型,首先是 I武器 接口: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MVC5配Ninject测试 { public interface I武器 { string 说明 { get; } } } 然后是实现接口的 手里剑 类: using System; using System.Collections.Generi...

更多

ASP.Net Web Api 提示不支持“Get”方法的解决办法

使用Chrome访问Web Api时提示: The requested resource does not support http method ‘GET’. 这种情况通常都是因为你的Api Action方法名不是以“Get”作为起始,Web Api的规则很死,即使你像这样改变了路由规则: 然后准确访问到Action,也是不行的。 所以就只能把你的Action方法名改为“GetXXXXXX”才可以。 分享或转载本博客站点内的所有原创内容时,都必须遵循此协议: 姓名标示-非商业性-相同方式分享 4.0 国际 (CC BY-NC-SA 4.0) 同时必须附加指向本文页面或本博客首页的超链接。 除此之外的转载、分享方式都必须征得本博客作者的授权,否则将会诉诸法律。

更多

ABP结合MongoDB的使用范例

ASP.NET Boilerplate官方的范例都是基于Entity Framework和NHibernate的,说是支持MangoDB,源码中也确实有MangoDB,但用Google寻遍世界也没找到任何说明或范例,无奈只有自己摸索了。 由于是刚刚接触ABP,测试时举步维艰,总算是得以达成,以下总结记录下这得来不易的成果: 首先前往官网去下载模板: http://www.aspnetboilerplate.com/Templates 选项如下: 下载好之后解压缩,用VS打开。 这时管理解决方案的NuGet包: 执行还原命令: 慢慢等待其自动下载和安装。 下好之后关闭NuGet窗口,执行重新生成解决方案操作,全部编译成功即可。 然后去其github空间: https://github.com/aspnetboilerplate 使用Git下载 aspnetboilerplate 项目的源码到本地,其地址为:https://github.com/aspnetboilerplate/aspnetboilerplate.git 下载好源码之后,添加现有项目: 选取这个 Abp.MongoDB ...

更多

解决MVC项目在IIS中不显示FontAwesome等字体图标的问题

本地测试无误,发布到服务器后字体图标就全不能显示了,IE里显示空,Chrome里显示长方形: 网站里MIME类型列表里是有.woff类型的: 不过不是“application/x-font-woff”,尝试在Web.config文件里覆盖之: <system.webServer> <staticContent> <remove fileExtension=”.woff” /> <!– In case IIS already has this mime type –> <mimeMap fileExtension=”.woff” mimeType=”application/x-font-woff” /> </staticContent> </system.webServer> 结果是无效的。 后来看到老外说貌似是MVC的BundleConfig问题: 尝试放弃使用Bundle方式引用FontAwesome的CSS,转而采用传统方式载入CSS: @*@Styles.Render(“~/Content/f...

更多

MVC中获取模型属性的Range和StringLength验证特性设置

MVC中的客户端及服务端模型验证信息都以ModelMetadata类型作为承载,在获得属性的ModelMetadata之后(还不知道怎么获取ModelMetadata的童鞋请自行恶补),我们可以轻松得到一些我们在模型中定义的特性,比如显示名称、是否只读、是否必须、注释、数据类型等,但是并不包括Range和StringLength这两个需要验证的特性,我把ModelMetadata对象翻个底朝天也没找到设置的值。 于是乎,只能通过反射来获取特性的定义信息了,以下代码能够获取到该属性定义的所有特性: var attrs = metadata.ContainerType.GetProperty(metadata.PropertyName).CustomAttributes; 然后我们遍历之,寻找我们要的类型,这里以Range为例: foreach (var f in attrs) { if (f.AttributeType == typeof(RangeAttribute) && f.ConstructorArguments[0].ArgumentType != typeof...

更多

也许MVC不该重写Url格式?

  读了一下Google黑板报的这篇文章:《动态网址与静态网址》 其中阐明动态网址不仅不会使索引和排名产生困难,反而机器人可通过参数更好的分析信息,例如这样的常规Url: www.example.com/article/bin/answer.foo?language=en&answer=3&sid=98971298178906&query=URL 但不建议诸如以下形式的重写: www.example.com/article/bin/answer.foo/en/3/98971298178906/URL www.example.com/article/bin/answer.foo/language=en/answer=3/ sid=98971298178906/query=URL www.example.com/article/bin/answer.foo/language/en/answer/3/sid/ 98971298178906/query/URL www.example.com/article/bin/answer.foo/en,3,989712...

更多