cho*_*bo2 4 c# asp.net-mvc dotnetopenauth razor asp.net-mvc-3
我想添加一些我从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")),
})
Run Code Online (Sandbox Code Playgroud)
但是我得到了这个错误
错误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[] {...})
Run Code Online (Sandbox Code Playgroud)
这相当于以下调用:
@OpenIdHelper.OpenIdSelector(this.Html, new SelectorButton[] {...})
Run Code Online (Sandbox Code Playgroud)
对于您的问题的第二个编辑,看起来这可能会有所帮助:针对具有Razor视图的DotNetOpenAuth.IEmbeddedResourceRetrieval抛出InvalidOperationException
| 归档时间: |
|
| 查看次数: |
3079 次 |
| 最近记录: |