2011-01-24 65 views
4

我想添加一些代碼,我從nerdinner動態誤差3.0剃刀

@Html.OpenIdSelector(this.Page, new SelectorButton[] 
    { 
     new SelectorProviderButton("https://me.yahoo.com/", Url.Content("~/Content/Images/Account/Index/yahoo_64.png")), 
     new SelectorProviderButton("https://www.google.com/accounts/o8/id", Url.Content("~/Content/images/google.gif")), 
     new SelectorOpenIdButton(Url.Content("~/Content/images/openid.gif")), 
    }) 

但是我得到這個錯誤

錯誤1「System.Web.Mvc了.HtmlHelper' 沒有適用的方法,名爲 'OpenIdSelector',但似乎有 這個名稱的擴展方法。 動態分派擴展方法不能爲 。考慮 轉換動態參數或 調用擴展方法,而不使用 擴展方法語法。

我不知道它想要什麼。

編輯

我得到這個現在

CS1928: 'System.Web.Mvc.HtmlHelper' 不包含 'OpenIdSelector' 和最佳 擴展方法的定義過載 'DotNetOpenAuth.Mvc.OpenIdHelper.OpenIdSelector(System.Web.Mvc.HtmlHelper, params DotNetOpenAuth.OpenId.RelyingParty.SelectorButton [])'' 有一些無效參數

編輯2

他們一定已經改變了它。我檢查,我的dotnetopenauth的版本沒有在2個參數僅供1.

書呆子晚餐版本發生在2

反正現在我刪除採取並得到了「這

服務器錯誤/'應用程序。當前IHttpHandler不是 類型之一:System.Web.UI.Page, DotNetOpenAuth.IEmbeddedResourceRetrieval。 嵌入式資源URL提供程序必須在您的.config文件中設置爲 。

回答

1

Page屬性是動態的,因此OpenIdSelector方法不能用動態屬性分派。嘗試鑄造Page屬性:

@Html.OpenIdSelector((Page)this.Page, new SelectorButton[] { ... }); 
+0

現在我得到(見編輯) – chobo2 2011-01-24 22:02:07