[英]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.