Asp.net mvc ASP.NET MVC视图中的Google Recatch自定义

Asp.net mvc ASP.NET MVC视图中的Google Recatch自定义,asp.net-mvc,razor,recaptcha,mvcrecaptcha,Asp.net Mvc,Razor,Recaptcha,Mvcrecaptcha,我正在使用google reCaptch进行captca验证,因此我想根据我的应用程序设计进行自定义。 我有一个google reCaptch的用户html助手。 那么,我如何使用razor html helper在视图中自定义其高度、宽度和其他外观呢? 我意识到这篇文章有点过时,但我最近也做了类似的事情,所以我想我可以帮你(如果你还需要的话) 我知道您想使用Html帮助程序,但是经过广泛的研究,没有一个真正提供这种帮助。有一个关于如何实现自己的风格和验证的指南-一个好主意是将验证抽象到接口后面

我正在使用google reCaptch进行captca验证,因此我想根据我的应用程序设计进行自定义。 我有一个google reCaptch的用户html助手。 那么,我如何使用razor html helper在视图中自定义其高度、宽度和其他外观呢?
我意识到这篇文章有点过时,但我最近也做了类似的事情,所以我想我可以帮你(如果你还需要的话)

我知道您想使用Html帮助程序,但是经过广泛的研究,没有一个真正提供这种帮助。有一个关于如何实现自己的风格和验证的指南-一个好主意是将验证抽象到接口后面,以便进行适当的测试

您可以或多或少地从reCaptcha文档中复制HTML示例,但是验证代码看起来(以非常基本的形式)是这样的:

            bool success;
            const string url = "http://www.google.com/recaptcha/api/verify";
            var ip = Request.UserHostAddress;
            var d = new NameValueCollection
            {
                { "privatekey", "6Ld-lN0SAAAAAB1c2Mzgu2pNjkLxn9W07FsAMLgc" },
                { "remoteip", ip },
                { "challenge", Request.Form["recaptcha_challenge_field"] },
                { "response", Request.Form["recaptcha_response_field"] }
            };

            using (var client = new System.Net.WebClient())
            {

                var response = client.UploadValues(url, d);
                var result = Encoding.ASCII.GetString(response);
                success = result.StartsWith("true");
            }
            if (!success)
                ModelState.AddModelError("recaptcha_response_field", "Please enter the correct words");
            else
                Response.Write("CAPTCHA check is valid - we think you are a human");