我在幾個不同的方式嘗試這樣做:爲什麼我不能在我的用戶控件中訪問我的viewmodel?
1:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyNameSpace.MyModel>" %>
2:
<%@ Import Namespace="MyNameSpace.MyModel" %>
但無論我做什麼,我沒有this.Model
訪問或任何我期望看到的東西。項目中的其他控件和頁面都可以訪問這些內容,而且沒有一個開發人員能夠告訴我他們爲什麼可以和我不能。有任何想法嗎?
編輯
從那時起,我已經創建了一些控件和頁面。有時,intellisense認爲this.Model
沒有問題。它還發現像Html.RenderPartial()
和它應該找到的各種其他好東西。所以,對於那些會告訴我智力感知不起作用的人,你錯了。它可以。但在所有觀點中都不一致。據我和任何其他開發人員可以說,我沒有做任何不同的事情。事情我已經嘗試:
- 關閉解決方案
- 刪除後的文件夾建立
- 重新打開解決方案
- 重建,無論是定期或分析建立
有時,這些步驟解決問題,但對於一些控件,我不能讓紅色的波浪線消失!這不是世界末日,因爲它不會產生運行時錯誤,但我想了解這裏發生了什麼。當然有人已經經歷了這一點,並已經知道問題的根源。
的第一個定義是正確的。你如何傳遞視圖模型?你是什麼意思,你無法訪問它?你是否收到錯誤信息或什麼?請稍微描述一下。 –
你在1中缺少一個尖括號。在MyModel後面應該有一個'>'。不知道這是否是一個錯字。 –
您的導入的名稱空間在「inherits」聲明中與您的泛型模型類具有完全相同的名稱。導入應該只是「MyNameSpace」。 –