Asp.net MVC Model设置为string类型时报错:Illegal characters in path
2012-03-23 15:23
996 查看
如果你将一个页面的Model设置为string类型,那么你会碰到这个错误:
似乎很奇怪,或许你甚至都不知道造成这个错误的原因是因为Model类型为string。实际上,你得到上面的错误原因是在你的Controller中,你通常调用View方法传送这个model作为唯一的参数并且这个model的值是string类型。但是你可能没有注意到View方法同样也有另外一个重载就是接受一个string作为这个View的名字。所以如果你传送这个model如下代码:
上面的代码中,你特别指向名为"myStringModel"的页面,并且这个页面不存在。
解决方法是:通过指定明确的参数来选择正确的重载,如下代码:
参考:http://samondotnet.blogspot.com/2011/11/aspnet-mvc-setting-model-as-string-and.html
http://stackoverflow.com/questions/2087246/howto-allow-illegal-characters-in-path
http://www.hanselman.com/blog/ExperimentsInWackinessAllowingPercentsAnglebracketsAndOtherNaughtyThingsInTheASPNETIISRequestURL.aspx
Illegal Characters in path
似乎很奇怪,或许你甚至都不知道造成这个错误的原因是因为Model类型为string。实际上,你得到上面的错误原因是在你的Controller中,你通常调用View方法传送这个model作为唯一的参数并且这个model的值是string类型。但是你可能没有注意到View方法同样也有另外一个重载就是接受一个string作为这个View的名字。所以如果你传送这个model如下代码:
return View("myStringModel");
上面的代码中,你特别指向名为"myStringModel"的页面,并且这个页面不存在。
解决方法是:通过指定明确的参数来选择正确的重载,如下代码:
return View(model: "myStringModel");
参考:http://samondotnet.blogspot.com/2011/11/aspnet-mvc-setting-model-as-string-and.html
http://stackoverflow.com/questions/2087246/howto-allow-illegal-characters-in-path
http://www.hanselman.com/blog/ExperimentsInWackinessAllowingPercentsAnglebracketsAndOtherNaughtyThingsInTheASPNETIISRequestURL.aspx
相关文章推荐
- asp.net MVC Model 类的主键 int类型、string类型、GUID类型。
- Model in ASP.NET MVC 3.0
- Rewrite Path in Asp.Net MVC Project
- 通过实例模拟ASP.NET MVC的Model绑定机制:简单类型+复杂类型
- ASP.NET MVC 必须设置 ErrorMessageString 或 ErrorMessageResourceName,但不能同时设置二者。
- 新建MVC3项目时出错:错误 2 类型“System.Web.Mvc.ModelClientValidationRule”同时存在于“C:\Program Files\Microsoft ASP.NET\ASP.NET Web Pages\v2.0\Assemblies\System.Web.WebPages.dll”和“C:\Program Files\Microsoft ASP.NET\ASP.NET MVC 3\Assembli
- 【原创】Asp.net MVC学习笔记之-基于类型来绑定Model的属性
- Model in ASP.NET MVC 3.0
- asp.net mvc源码分析-DefaultModelBinder 自定义的普通数据类型的绑定和验证
- Model Binding in ASP.NET MVC
- ASP.NET MVC 2.0 in Vs2010 :使用C# 4.0中使用动态类型来传递ViewData
- ASP.NET MVC 2.0 in Vs2010 :使用C# 4.0中使用动态类型来传递ViewData
- ASP.NET MVC 3.0学习系列文章—Model in ASP.NET MVC 3.0
- The DefaultModelBinder in ASP.NET MVC -ASP.NET MVC的默认模型绑定器
- 使用Mono.Cecil辅助ASP.NET MVC使用dynamic类型Model
- 错误 11 类型“System.Web.Mvc.ModelClientValidationRule”同时存在于“C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v2.0\Assemblies\System.Web.WebPages
- ASP.NET MVC 2.0 in Vs2010 :使用C# 4.0中使用动态类型来传递ViewData
- 使用Mono.Cecil辅助ASP.NET MVC使用dynamic类型Model
- ASP.NET MVC 3: New @model keyword in Razor
- 一篇不错的关于MVC model in asp.net的文章@MSDN