2010-09-02 29 views
0

嗨,我有一個問題與C#使用ASP MVC。當我使用強類型繼承創建aspx頁面時,我收到以下錯誤:異常詳細信息:System.ArgumentException:路徑中的非法字符。 ASP.NET MVC

'/'應用程序中的服務器錯誤。

路徑中存在非法字符。 描述:執行當前Web請求期間發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。

異常詳細信息:System.ArgumentException:路徑中的非法字符。

源錯誤:

線60:///

線61:///連接字符串

線62:公共的ObjectContext(串的connectionString)

63行:: base(connectionString,「Entity」)

Line 64:{

我無法解決這個問題,在我創建的任何網頁中我收到了同樣的問題。我在互聯網上檢查了我的web.config信息,但是它確定,我創建了ado實體連接,但是也發生了同樣的情況。

這是我的web.config中的連接字符串:

添加名稱= 「實體」 的connectionString =「元數據= RES:// /Models.model.csdl|res:///Models.model.ssdl | res://*/Models.Model.msl; provider = System.Data.SqlClient; provider connection string = " Data Source = SOURCE \ SQL; Initial Catalog = db; Persist Security Info = True; User ID = user; Password = password; MultipleActiveResultSets = True "「providerName =」System.Data.EntityClient「/>

非常感謝你!

回答

1

我可以看到你的連接字符串看起來不對。應該....metadata=res://*/Models.model.csdl|res://*/Models.model.ssdl....

只要你知道,元數據表示這樣的:

metadata=res://{assembly}/{namespace}.{filename}.csdl|res://{assembly}/{namespace}.{filename}.ssdl|res://{assembly}/{namespace}.{filename}.msl; 

你可以把組件名稱或通配符*,它看起來像你缺少你CSDL和SSDL

+0

謝謝您的回答。我嘗試縮短信息,真正的路徑是元數據= res://*/Models.DataLogic.Data.nameModel.csdl 我很困惑的事實,我不能聲明控制器或類的實體訪問使用該路線。一些簡單的像私人entitymodel db = new entitymodel();是不可能的,如果我不把模型放在EDMX文件。直接代替Models.Datalogic.Data.edmx 我真的很困惑,我會檢查。非常感謝您的參與。 – 2010-09-03 00:06:28