MVC图片验证码前后端代码
时间: 2023-07-09 09:13:33 浏览: 85
以下是ASP.NET MVC的前后端代码示例:
前端代码(View):
```html
@using (Html.BeginForm()) {
<div>
<img src="@Url.Action("GetCaptchaImage")" alt="Captcha" />
</div>
<div>
@Html.LabelFor(m => m.Captcha)
@Html.TextBoxFor(m => m.Captcha)
@Html.ValidationMessageFor(m => m.Captcha)
</div>
}
```
在这个示例中,`Url.Action`方法生成一个指向`GetCaptchaImage`方法的URL。该方法将返回包含验证码图像的响应。
后端代码(Controller):
```csharp
public ActionResult GetCaptchaImage() {
var captcha = new MvcCaptcha();
var image = captcha.GenerateImage();
return File(image, "image/png");
}
[HttpPost]
public ActionResult Submit(FormModel model) {
if (!ModelState.IsValid) {
return View(model);
}
if (!MvcCaptcha.Validate(model.Captcha)) {
ModelState.AddModelError("Captcha", "The captcha code is incorrect.");
return View(model);
}
// Captcha validation succeeded
// Do something here...
return RedirectToAction("Success");
}
```
在这个示例中,`GetCaptchaImage`方法生成一个新的验证码图像,并返回包含该图像的响应。`Submit`方法接收表单数据,验证验证码是否正确,如果验证通过则执行自己的逻辑。`MvcCaptcha`是一个来自`MvcCaptcha` NuGet包的类,它负责生成和验证验证码。
阅读全文