簡體   English   中英

asp.net mvc 3.0 razor中的動態錯誤

[英]dynamic error in asp.net mvc 3.0 razor

我想添加一些我從nerdinner得到的代碼

  @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。 必須在.config文件中設置嵌入式資源URL提供程序。

OpenIdSelector被定義為擴展方法,您不必傳入第一個參數。 相反,你這樣稱呼它:

@Html.OpenIdSelector(new SelectorButton[] {...})

這相當於以下調用:

@OpenIdHelper.OpenIdSelector(this.Html, new SelectorButton[] {...})

對於您的問題的第二個編輯,看起來這可能會有所幫助: 針對具有Razor視圖的DotNetOpenAuth.IEmbeddedResourceRetrieval拋出InvalidOperationException

Page屬性是動態的,因此無法使用動態屬性發送OpenIdSelector方法。 嘗試轉換Page屬性:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM