我收到一个ArgumentException,当调用我的控制器之一的索引操作,我不知道为什么。错误消息如下:
‘/’应用程序中的服务器错误。
路径中的非法字符。
- [ArgumentException: Illegal characters in path.]
- System.IO.Path.CheckInvalidPathChars(String path) +126
- System.IO.Path.Combine(String path1,String path2) +38
我不知道为什么会发生这种情况。这里是控制器的代码:
- public ActionResult Index()
- {
- var glaccounts = db.GLAccounts.ToString();
- return View(glaccounts);
- }
解决方法
模糊性来自于你使用字符串作为模型类型。这种模糊性可以这样解决:
- public ActionResult Index()
- {
- var glaccounts = db.GLAccounts.ToString();
- return View((object)glaccounts);
- }
要么:
- public ActionResult Index()
- {
- object glaccounts = db.GLAccounts.ToString();
- return View(glaccounts);
- }
要么:
- public ActionResult Index()
- {
- var glaccounts = db.GLAccounts.ToString();
- return View("Index",glaccounts);
- }
注意,对象的转换选择正确的方法重载,因为已经有一个View方法,它接受一个表示视图名称的字符串参数,所以你不能把任何你想要的东西=>如果它是一个字符串,它必须是视图的名称,并且此视图必须存在。