<div class="blogpost-body" id="cnblogs_post_body">
<p style="background:#808080;font-size:18pt;color:#ffffff;">前言</p>
<p>继上一节中实现了验证码<a href="http://www.cnblogs.com/aehyok/archive/2013/04/19/3030212.html">http://www.cnblogs.com/aehyok/archive/2013/04/19/3030212.html</a>,现在我们可以进行对登录界面进行整合调试了。</p>
<p style="background:#808080;font-size:18pt;color:#ffffff;">正题</p>
<p>打开系统的首页页面文件,Views\Home目录下的Index.cshtml文件。要动态加载登录窗口,需要先设置好加载路径,因而在onReady函数前面加入以下代码:</p>
<div class="cnblogs_code">
<pre class="blockcode"><span style="color:#000000;"> Ext.Loader.setConfig({
enabled: </span><span style="color:#0000ff;">true</span><span style="color:#000000;">,
paths: {
</span><span style="color:#800000;">'</span><span style="color:#800000;">Ext.ux</span><span style="color:#800000;">'</span>: <span style="color:#800000;">'</span><span style="color:#800000;">scripts/extjs/ux</span><span style="color:#800000;">'</span><span style="color:#000000;">
}
});</span></pre>
</div>
<p>代码中,enabled为true,表示开启动态加载,paths对象里面定义的就是加载路径,在这里定义了Ext扩展的加载路径为“scripts/extjs/ux”。</p>
<p>接着上面的代码下加入一个请求登录窗口的代码:</p>
<div class="cnblogs_code">
<pre class="blockcode">Ext.require(<span style="color:#800000;">'</span><span style="color:#800000;">Ext.ux.Login</span><span style="color:#800000;">'</span>);</pre>
</div>
<p>这样,Ext就会自动去加载登录窗口了。</p>
<p>将原来调用alert方法的语句删除,然后加入显示登录窗口的代码:</p>
<div class="cnblogs_code">
<pre class="blockcode">Ext.ux.Login.show();</pre>
</div>
<p> 现在,在页面打开首页,将看到如下图</p>
<p><img alt="" height="247" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-a1fe8f1989b94393c9e15847828b4c8e.png" width="814"></p>
<p>单击一下图片,验证码也可刷新了。但问题是没鼠标指针不是手型的,这得改一下,要改不难,在创建Img对象的时候,加入style配置项就可以了,它会将该配置的值作为图片的样式,修改后的代码如下:</p>
<div class="cnblogs_code">
<pre class="blockcode">me.image =<span style="color:#000000;"> Ext.create(Ext.Img, {
style: </span><span style="color:#800000;">"</span><span style="color:#800000;">cursor:pointer </span><span style="color:#800000;">"</span><span style="color:#000000;">,
src: </span><span style="color:#800000;">"</span><span style="color:#800000;">/VerifyCode</span><span style="color:#800000;">"</span><span style="color:#000000;">,
listeners: {
click: me.onRefrehImage,
element: </span><span style="color:#800000;">"</span><span style="color:#800000;">el</span><span style="color:#800000;">"</span><span style="color:#000000;">,
scope: me
}
});</span></pre>
</div>
<p>现在先抛开数据库,来做个简单验证测试一下。首先要做的是在Models目录创建一个名为LoginModel.cs的类文件,创建后的代码如下:</p>
<div class="cnblogs_code">
<pre class="blockcode"><span style="color:#0000ff;">namespace</span><span style="color:#000000;"> ExtMVCOne.Models
{
</span><span style="color:#0000ff;">public</span> <span style="color:#0000ff;">class</span><span style="color:#000000;"> LoginModel
{
[Required]
[Display(Name </span>= <span style="color:#800000;">"</span><span style="color:#800000;">用户名</span><span style="color:#800000;">"</span><span style="color:#000000;">)]
</span><span style="color:#0000ff;">public</span> <span style="color:#0000ff;">string</span> UserName { <span style="color:#0000ff;">get</span>; <span style="color:#0000ff;">set</span><span style="color:#000000;">; }
[Required]
[Display(Name </span>= <span style="color:#800000;">"</span><span style="color:#800000;">密码</span><span style="color:#800000;">"</span><span style="color:#000000;">)]
</span><span style="color:#0000ff;">public</span> <span style="color:#0000ff;">string</span> Password { <span style="color:#0000ff;">get</span>; <span style="color:#0000ff;">set</span><span style="color:#000000;">; }
[Required]
[Display(Name </span>= <span style="color:#800000;">"</span><span style="color:#800000;">验证码</span><span style="color:#800000;">"</span><span style="color:#000000;">)]
</span><span style="color:#0000ff;">public</span> <span style="color:#0000ff;">string</span> Vcode { <span style="color:#0000ff;">get</span>; <span style="color:#0000ff;">set</span><span style="color:#000000;">; }
}
}</span></pre>
</div>
<p>当然还需要引用</p>
<div class="cnblogs_code">
<pre class="blockcode"><span style="color:#0000ff;">using</span> System.ComponentModel.DataAnnotations;</pre>
</div>
<p>代码中Required特性表示字段是必须的。Display用来表示字段的中文名称,这不是必须。</p>
<p>模型创建后, |
|