一、环境概述

1、MVC4.0项目

2、bootstrap引入:

  • 生产环境版本引入:在web\Content 文件夹中引入bootstrap-3.2.0-dist,
  • 源码版本CSS引入:将bootstrap-3.2.0\docs\examples中的所有css复制到Web\Content\bootstrap-3.2.0-dist\css\themes

3、KnockoutJS引入:

  • 将knockout-3.2.0.js文件引入到Web\scripts

4、JQuery引入

二、前端CSHTML

 <div class="container">
     <div class="form-signin">
         <h2 class="form-signin-heading">Please sign in</h2>
         <input type="email" data-bind="value:accountName" autofocus="" required="" placeholder="Email address" class="form-control">
         <input type="password" data-bind="value:password" required="" placeholder="Password" class="form-control">
         <div class="row">
             <div class="col-sm-7">
                 <input type="email" data-bind="value:verifyCode" autofocus="" required="" placeholder="Email address" class="form-control">
             </div>
             <div class="col-sm-3">
                 <img height=" title="点击刷新验证码" data-bind="attr: { 'src': verifyimageSrc },click:ImageOnClick" />
             </div>
         </div>
         <div class="checkbox">
             <label>
                 <input type="checkbox" value="remember-me" data-bind="checked:isRemember"> Remember me
             </label>
         </div>
         <input type="button" class="btn btn-lg btn-primary btn-block"
                data-bind="click:submit" value="Sign in"/>
     </div>
 </div>
 <script src="/scripts/jquery-2.1.1.min.js"></script>
 <script src="/scripts/knockout-3.2.0.js"></script>
 <script src="/scripts/Account/Login.js"></script>
 <script src="/Content/bootstrap-3.2.0-dist/js/bootstrap.min.js"></script>
 <link href="/Content/bootstrap-3.2.0-dist/css/bootstrap.min.css" rel="stylesheet" />
 <link href="/Content/bootstrap-3.2.0-dist/css/themes/signin.css" rel="stylesheet" />

三、Login.js:

 var ViewModel = function () {
     //获取当前网址,如: http://localhost:8080/ems/Pages/Basic/Person.jsp
     var curWwwPath = window.document.location.href;
     //获取主机地址之后的目录,如: /ems/Pages/Basic/Person.jsp
     var pathName = window.document.location.pathname;
     var pos = curWwwPath.indexOf(pathName);
     //获取主机地址,如: http://localhost:8080
     , pos);
     var ImageNewPath = "/tool/verifyimage?time=";
     var newDate = new Date();
     var self = this;
     self.accountName = ko.observable("");
     self.password = ko.observable("");
     self.verifyCode = ko.observable("");
     self.isRemember = ko.observable("");
     self.verifyimageSrc = ko.observable("");
     GetImage(newDate, ImageNewPath, self);
     self.ImageOnClick = function () {
         newDate = new Date();
         GetImage(newDate, ImageNewPath, self);
     }
     self.submit = function (Student) {
         $.post("/account/login",
             {
                 accountName: self.accountName(),
                 password: self.password(),
                 verifyCode: self.verifyCode(),
                 sisRemember: self.isRemember(),
                 verifyimageSrc: self.verifyimageSrc(),
             },
             function (data) {
                 alert("Data Loaded: " + data.Data);
             });
     };
 }
 var GetImage = function (Date, ImageNewPath, KoObject) {
     $.get(
            "../tool/verifyimage",
            { time: Date },
            function (data) {
                KoObject.verifyimageSrc(ImageNewPath + Date);
            }
            );
 }
 $(document).ready(function () {
     ko.applyBindings(ViewModel);
 });

knockout+bootstrap+MVC 登录页实现的更多相关文章

  1. 后台跳转到登录页嵌套在iframe的问题(MVC例)

    //首页 public ActionResult Index() { if (!Request.IsAuthenticated) //判断权限,没有登录就跳回登录页 {string url = Url ...

  2. Asp.net MVC访问框架页中嵌套的iframe页面时,如果session或cookie过期,登录验证超时怎样自动跳转到登录页

    一般登录验证的过滤器中,使用验证过滤器的Redirect方法,将请求重定向到指定的URL.但是如果我们要访问的页面是一个嵌套在框架页中的iframe页面时,这种重定向只会对iframe页面凑效,也就是 ...

  3. Spring Security笔记:自定义登录页

    以下内容参考了 http://www.mkyong.com/spring-security/spring-security-form-login-example/ 接上回,在前面的Hello Worl ...

  4. 通过ajax前端后台交互/登录页和注册页前端后台交互详解/前端后台交互基础应用/几个后台函数的基础应用/php文件函数基础应用/php字符传函数基础应用/php数组函数基础应用

      前  言  PHP     学习了好久的PHP,今天做一个可以后台交互的登录页和注册页,没做什么判断,简单的了解一下. 具体的内容分析如下: ① PHP中的数据传输-->>由注册页传输 ...

  5. [转载:Q1mi]Bootstrap和基于Bootstrap的登录验证示例

    转载自:Q1mi Bootstrap介绍 Bootstrap是Twitter开源的基于HTML.CSS.JavaScript的前端框架. 它是为实现快速开发Web应用程序而设计的一套前端工具包. 它支 ...

  6. SSM登录跳转到登录页,登录页不能加载js和样式

    SSM登录跳转到登录页,登录页不能加载js和样式选用jsppage添加根路径. <% String rootPath = request.getContextPath(); %> < ...

  7. 授权过期后AJAX操作跳转到登录页的一种全局处理方式

    前两天园友JustRun分享了一篇 <菜鸟程序员之Asp.net MVC Session过期异常的处理>博文,正好自己前段时间被安排处理过这个问题,发现JustRun的方法有一点点可优化的 ...

  8. MVC 登录后重定向回最初请求的 URL FormsAuthentication.RedirectFromLoginPage

    在传统的Asp.net webForm 中如果使用 Form身份验证.登录后重定向到最初请求的页面只需使用 FormsAuthentication.RedirectFromLoginPage 但在MV ...

  9. .Net MVC 标签页

    目录 Bootstrap的标签页 适合.Net MVC的标签页 Bootstrap的标签页 下面是Bootstrap的标签页,挺好的,但是用的id,内容是固定的?我不知道怎么变成不同的视图来 < ...

随机推荐

  1. 关于tomcat会在url末尾自动追加斜杠(/)

    今天,突然发现一个问题, 比如我的请求路径为  http://ip:port/my_project/myapp, 在浏览器中敲入这个地址,然后会显示 http://ip:port/my_project ...

  2. Windows下使用xShell向远程Linux上传文件

    上传文件使用rz与sz命令,远程Linux系统上需要安装lrzsz工具包 下载安装包lrzsz-0.12.20.tar.gz:  http://www.linuxidc.com/Linux/2010- ...

  3. Aptana Studio 2启动时提示 Workspace Cannot Be Created 解决办法

    今天在安装Aptana Studio 2时出现这个东东,卸载后再安装依旧不行最后找到原因 原因 : 就是由于你把“我的文档”的位置修改造成的. 但Aptana还以为 “我的文档”的位置 是在系统的默认 ...

  4. 初学者:JSP登陆界面

    学生登陆查询系统 1 程序的主要功能及特点 实现一个登录界面的基本功能,具体要求: 登录界面login.jsp含有表单,用户能够输入用户名和密码,并提交表单给verify.jsp. Verify.js ...

  5. iOS开发UI篇—简单的浏览器查看程序

    iOS开发UI篇—简单的浏览器查看程序 一.程序实现要求 1.要求 2. 界面分析 (1) 需要读取或修改属性的控件需要设置属性 序号标签 图片 图片描述 左边按钮 右边按钮 (2) 需要监听响应事件 ...

  6. XListView理念

    package com.example.testxml1; import java.io.ByteArrayInputStream;import java.io.InputStream;import ...

  7. PHP 缓存扩展opcache

    opcache (全程 zend opcache): 从php5.5开始,默认提供的php脚本缓存扩展,编译php5.5时加上参数--enable-opcache就可以编译opcache了,只是要启用 ...

  8. IntelliJ IDEA 使用总结

    IntelliJ IDEA 使用总结 http://my.oschina.net/xianggao/blog/97539 IntelliJ IDEA 问题解决:1.乱码,主要是快捷键的字样显示乱码 中 ...

  9. android studio 开启genymotion 出现"failed to create framebuffer image"

    出现错误 Unable to start the virtul device To start virtual devices, make sure that your video card supp ...

  10. HM NIS Edit 2.0.3 Win32 Error. Code:740.请求的操作需要提升

    使用NSIS安装向导,生成脚本后,按F9后,居然提示:HM NIS Edit 2.0.3 Win32 Error. Code:740.请求的操作需要提升 一开始就出错了,还真不顺. 在网上搜索了一下, ...