2011-05-09 46 views
2

我有我的模型方法:公共方法上Razor視圖不可見

public string GetSubscriptionCode() 
    { 
     return String.Format(Name.ToLower().Replace("", "-")); 
    } 

比當我想打電話我得到一個錯誤的觀點,方法,有中沒有這樣的方法我型號:

<div id="@Model.GetSubscriptionCode()"></div> 

任何想法?

更新: 哎呀,我用了我的模型,我把我的方法錯誤的一個...... 現在,如果我能

回答

3

假設你的看法是強類型的模型,我會刪除這個問題:

@model MyViewModel 

其中MyViewModel包含此公共方法:

public class MyViewModel 
{ 
    public string Name { get; set; } 

    public string GetSubscriptionCode() 
    { 
     return String.Format(Name.ToLower().Replace("", "-")); 
    } 
} 

你應該能夠完全正常訪問視圖:

<div id="@Model.GetSubscriptionCode()"></div> 

如果Visual Studio中強調它說,它不存在,請不要擔心。意見中的Intellisense遠非完美。簡單地運行你的應用程序,它將按預期工作。

+0

所有的工作,我只是混淆了我的模型...無論如何,我可以刪除這個問題? – Joper 2011-05-09 15:13:51

0

你能分享更多的視圖和模型的代碼嗎?

也許這是一種擴展方法,因此您需要包含/導入實現該擴展方法的名稱空間。