登錄窗口完成后,還需要幾個(gè)步驟才能完成登錄。現(xiàn)在先來完成輸出驗(yàn)證碼圖片的控制器。要完成這個(gè),需要使用VerifyCode類,該類是在網(wǎng)上找的,因?yàn)槟甏眠h(yuǎn),出處都忘記了,在此向作者說聲抱歉。
先在項(xiàng)目下創(chuàng)建一個(gè)Helper目錄,該目錄將用來放置一些輔助性的類,包括一些自定義的實(shí)用方法。然后把VerifyCode.cs文件復(fù)制到該目錄下,打開該文件,為其添加命名空間“SimpleCMS.Helper”,這樣做的目的是為了方便控制器訪問該類。
接著在控制器目錄(Controllers)添加一個(gè)名為VerifyCodeController的控制器,控制器的代碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace SimpleCMS.Controllers
{
public class VerifyCodeController : Controller
{
//
//GET: /VerifyCode/
public ActionResult Index()
{
return View();
}
}
}
因?yàn)檩敵龅氖俏募袷降膱D片,不是視圖,因而需要將返回類型ActionResult修改為FileContentResult。
接著添加對(duì)VerifyCode類的引用:
using SimpleCMS.Helper;
在VerifyCode類中,CreateVerifyCode方法可生成一個(gè)6位的驗(yàn)證碼,而調(diào)用CreateImages方法則可返回圖片的字節(jié)數(shù)組,通過這兩個(gè)就可以生成圖片文件了,代碼如下:
public FileContentResult Index()
{
VerifyCode v = new VerifyCode ();
string code =v.CreateVerifyCode(); // 取隨機(jī)碼
Session[ "vcode" ] = code;
v.Padding = 10;
byte [] bytes =v.CreateImage(code);
return File(bytes, @"image/jpeg" );
}
Session中的關(guān)鍵字可以根據(jù)自己喜歡的名字定義,不一定是vcode。Padding屬性與頁面中使用CSS定義內(nèi)補(bǔ)丁的作用一樣的。最后返回一個(gè)由CreateImage返回的字節(jié)數(shù)組構(gòu)成的文件,文件類型為jpeg格式。
控制器的編碼已經(jīng)完成了,現(xiàn)在來測(cè)試一下是否能正常顯示圖片。可直接按Ctra+F5,或在主菜單中選擇調(diào)試,開始執(zhí)行(不調(diào)試),在瀏覽器中打開網(wǎng)站,然后修改地址訪問VerifyCode控制器,如果能顯示如圖8所示的結(jié)果(圖中的驗(yàn)證碼會(huì)不同),表示控制器已經(jīng)完成了。
一步一步使用Ext JS MVC與Asp.Net MVC 3開發(fā)簡單的CMS后臺(tái)管理系統(tǒng)之創(chuàng)建輸出驗(yàn)證碼圖片的控制器
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
