asp.net-mvc – 在asp.net mvc 3剃刀中识别html助手的问题
发布时间:2020-11-18 09:23:55 所属栏目:asp.Net 来源:互联网
导读:这是我的 Html帮助器的样子: namespace WebApp.WebUI{ public static class HtmlExtensions { public static MvcHtmlString GenerateCaptcha(this HtmlHelper helper, string theme) {
这是我的 Html帮助器的样子: namespace WebApp.WebUI { public static class HtmlExtensions { public static MvcHtmlString GenerateCaptcha(this HtmlHelper helper,string theme) { string publicKey = ConfigurationManager.AppSettings["CaptchaKey_Public"]; string privateKey = ConfigurationManager.AppSettings["CaptchaKey_Private"]; var captchaControl = new Recaptcha.RecaptchaControl { ID = "recaptcha",Theme = theme,PublicKey = publicKey,PrivateKey = privateKey }; var htmlWriter = new HtmlTextWriter(new StringWriter()); captchaControl.RenderControl(htmlWriter); return new MvcHtmlString(htmlWriter.InnerWriter.ToString()); } } } 我在这个视图中尝试使用它: @{ ViewBag.Title = "Register"; } @model WebApp.WebUI.ViewModel.RegisterModel @using (Html.BeginForm("Register","Auth",FormMethod.Post,new { Id = "ERForm" })) { @Html.GenerateCaptcha("clean") } 它给我这个错误: CS1061:’System.Web.Mvc.HtmlHelper< WebApp.WebUI.ViewModel.RegisterModel>‘不包含’GenerateCaptcha’的定义,也没有扩展方法’GenerateCaptcha’接受’System.Web.Mvc.HtmlHelper< WebApp.WebUI.ViewModel.RegisterModel>‘类型的第一个参数.可以找到(您是否缺少一个using指令或程序集引用?) 我究竟做错了什么.我的命名空间是正确的.它不会出现在@Html的智能感知中 解决方法你可以添加:@using WebApp.WebUI 在您的剃须刀视图的顶部. 而且如果你想在许多不同的视图中重复使用这个帮助器,以避免每次添加到< namespaces> / Views / web.config文件的部分: <system.web.webPages.razor> <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory,System.Web.Mvc,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35" /> <pages pageBaseType="System.Web.Mvc.WebViewPage"> <namespaces> <add namespace="System.Web.Mvc" /> <add namespace="System.Web.Mvc.Ajax" /> <add namespace="System.Web.Mvc.Html" /> <add namespace="System.Web.Routing" /> <add namespace="WebApp.WebUI" /> </namespaces> </pages> </system.web.webPages.razor> 这样做后,请确保您重新编译并重新打开“智能感知”的“剃须刀”视图,以便有时间接听. (编辑:台州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET Response.Cache.SetNoStore()与Response.Cache.Set
- asp.net – 无法在UpdatePanel中下载文件
- asp.net – 将web应用程序的项目编译成dll
- asp.net – 在网站上放置广告的最佳做法?
- asp.net-mvc – 我如何moq aingleingleResult?我是不是该?
- 设置ASP.NET页面不被缓存(客户端/服务器端取消缓存方法)
- asp.net中的GridView分页问题
- ASP.NET页面在IE缓存的清除办法
- asp.net-mvc – 如何将行的模型从Kendo Grid传递到可编辑的
- asp.net – __doPostBack在DotNetNuke网站上未定义为IE 10