js和cs的值相互传递和函数的相互调用

5 篇文章 0 订阅

转载于:Js与cs的值相互传递和函数的相互调用

cs传值给js

aspx代码:

 

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="JsCallCsValue.aspx.cs" Inherits="JsCallCsValue" %>
  
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head runat="server">
      <title></title>
  
       <script language="javascript" type="text/javascript">
 <!--
     //宣告一个变量,方便调用
     var jsVariable ;
     //在Javascript使用WebControl Literal 可以调用aspx.cs需要的值。
     <asp:Literal id="Literal1" runat="server" />    
     //下面是调用变量。当然你的处理代码不是简单的如下只抛出信息而已。
      alert(jsVariable);
 
 // -->
     </script>
 </head>
 <body>
     <form id="form1" runat="server">
     <div>
     
     </div>
     </form>
 </body>
 </html>

cs后台代码:

using System;
  using System.Collections.Generic;
  using System.Linq;
 using System.Web;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  
  public partial class JsCallCsValue : System.Web.UI.Page
  {
     protected void Page_Load(object sender, EventArgs e)
     {
        //宣告一个cs变量
         string csVariable = "Hello Insus.NET!";
         //为Web控件赋值,值中有一个js的变量jsVariable,即是aspx页面12行的变量。
         this.Literal1.Text = "jsVariable=\"" + csVariable + "\";";
     }
 }

这里通过<asp:Literal id=“Literal1” runat=“server” /> 控件实现将cs后台中的csVariable变量传递到前端js中的jsVariable 中。这是相对于其他方法简单快捷的方式。

js传值给cs后台

常见的是通过Ajax将js中的值传递到cs,也可以用另一种方式,就是通过调用函数时传参的方式传到后台。ps:代码在后面的函数调用

js调用后台cs函数

无参数调用

aspx代码:

<html xmlns="http://www.w3.org/1999/xhtml">  
<head runat="server">  
    <title>无标题页</title>  
    <mce:script type="text/javascript" ><!--  
     var demo=function(){  
       var b= "<%=test() %>";  
       alert(b);  
       }  
// --></mce:script>   
</head>  
<body>  
    <form id="form1" runat="server">  
    <div>  
        <input type="button" id="id1" onclick="demo()" value="JS调用CS" />  
    </div>  
    </form>  
</body>  
</html>

cs后台代码:

public string test()  
 {  
    return "Hello World";  
 } 

这里调用通过 "<%=test() %>"的方式调用cs中的 test()函数。这里是无参数调用。

有参数调用

aspx代码:

<html xmlns="http://www.w3.org/1999/xhtml">  
<head runat="server">  
    <title>无标题页</title>  
    <mce:script type="text/javascript" ><!--  
     var demo=function(){  
       var a="Hello World";  
       var b= '<%=test("'+a+'") %>';//这里一定注意单引号和双引号的使用!!!!!   
       alert(b);  
       }  
// --></mce:script>   
</head>  
<body>  
    <form id="form1" runat="server">  
    <div>  
        <input type="button" id="id1" onclick="demo()" value="JS调用CS" />  
    </div>  
    </form>  
</body>  
</html> 

cs后台代码:

public string test(string a)  
 {  
    return a;  
 } 

 

这里通过 ‘<%=test("’+a+’") %>‘调用函数test(string a) ,但是你测试时会发现根本没有将变量a传递了,只是传递了定值’+a+’,这是一个坑。所以通过此方法只能是调用无参数的函数。

接下来用另一种既可以传无参数函数也可以传有参数函数。
PageMethods
aspx代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script type="text/javascript" language="javascript">
<!--
function minbzdm()
{
PageMethods.OK(xxx);
}
function xxx(result)
{
alert(result);
}
//-->
</script>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
    </asp:ScriptManager>
    <div>
    <input type='button' value='删除' onclick='minbzdm()' />
    </div>
    </form>
</body>
</html>
CS代码:


public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }

    [System.Web.Services.WebMethod]
    public static string OK() 
    {
        return "OK";
    }
}

这是通过PageMethods实现js调用cs后台函数的方法。有参数和无参数都可以。并且可以传值给后台。
通过PageMethods方法来实现JS调用CS,必须注意一下几点:

【1】静态的方法

     public static

【2】需要在cs方法上加上:

     [System.Web.Services.WebMethod]
  • 【3】需要自定义一个函数接受结果
    function xxx(result)
    {
    alert(result);
    }

【4】ScriptManager 必须设置成 EnablePageMethods=“true”

cs调用js函数的方法

cs后台代码:

 protected void OnEditing(object sender, GridViewEditEventArgs e)
    {
        int id = Int32.Parse(GridView1.Rows[e.NewEditIndex].Cells[1].Text);///得到你要编辑文章的id
                                                                       
        String Url = "AddArticle.aspx?ID=" + id.ToString();AddArticle.aspx是你要找到编辑的页面
        ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "redirectMe", "confirm_1('"+code+"');", true);
   }

aspx中js函数代码:

function confirm_1(code) {
             alertify.confirm("是否和微信号绑定?以后方便联系您!", function (e) {
                 if (e) {
                     PageMethods.WXconnect(code, openid);
                     alertify.success("绑定成功");
                     return true;
                 } else {
                     PageMethods.WXdisconnect(code);
                     alertify.error("绑定失败");
                     return false;
                 }
             });
         };

另一种cs调用js的方法是直接在后台cs中写js

string script = "if ( window.confirm('找回密码成功"+role.Rolename+",点击确认跳转到登录页面')) {  window.location.href='login.aspx' } ;";
 ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "key", script, true);
  • 这种方法不仅可以调用js而且可以引用cs中的变量,不用cs后台向前端传值。
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
传智播客PHP就业班视频课程列表 8-11 1.html介绍 html运行原理① 8-11 2.html运行原理② html文件基本结构 html元素和属性 8-11 3.符号实体 url说明 超链接 发送电邮 8-11 4.图像 表格 实际应用-菜谱 课堂练习-课程表 8-11 5.无序列表 有序列表 框架 8-12 1.浮动窗口 表单及表单控件① 8-12 2.表单及表单控件② 8-12 3.多媒体页面 标签汇总① 地图映射1 8-12 4.多媒体页面 标签汇总① 地图映射2 8-12 5.多媒体页面 标签汇总① 地图映射3 8-12 6.多标签汇总② 线包字效果 测试题 8-13 1.div+css开山篇 8-13 2.初识css 类选择器 id选择器 html选择器 8-13 3.通配符选择器 父子选择器 8-13 4.选择器使用细节 块元素?托心谠? 盒子模型 盒子模型经典应用① 8-13 5.盒子模型经典应用② 作业布置 8-15 1.div+css作业评讲① 8-15 2.div+css作业评讲② 8-15 3.div+css作业评讲③ 8-15 4.浮动 8-15 5.网站推荐 定位 8-15 6.仿sohu首页面布局 可爱屋首页面 8-16 1.动态网页技术介绍 php基本介绍 8-16 2.php快速入门 bs和cs介绍 8-16 3.web服务器介绍 apache服务器安装 8-16 4.apache服务器使用及配置① 启动和停止 端口配置 8-16 5.apache服务器使用及配置② apache目录结构 8-16 6.apache服务器使用及配置③ apache虚拟目录 8-17 1.apache服务器使用及配置④ apache虚拟主机 web访问时序图 8-17 2.apache服务器使用及配置⑤ 作业点评 提出apache和php整合的需求 8-17 3.php开发环境的搭建和使用① appserv套件安装 8-17 4.php开发环境的搭建和使用② 自定义安装 8-17 5.php开发环境的搭建和使用③ 安装并配置discuz论坛 8-19 1.解答学生问题--一个ip绑定多个域名 8-19 2.php运行过程时序图 php书写规范 8-19 3.php基本语法介绍 php数据类型介绍 8-19 4.整型细节说明 8-19 5.布尔细节 浮点数细节 字符串细节 算术运算符① 8-19 6.算术运算符② 比较运算符 逻辑运算符 8-20 1.三元运算符 类型运算符 运算符优先级 8-20 2.顺序控制 分支控制(if ifelse switch) 程序流程图 8-20 3.循环控制①(for) 8-20 4.循环控制②(while dowhile) 打印金字塔案例 8-20 5.打印金字塔案例评讲 布置练习题 8-22 1.break语句 continue语句 常量 8-22 2.函数基本概念 函数快速入门 8-22 3.函数使用函数调用初步理解 8-22 4.函数调用深入理解 函数使用注意事项① 8-22 5.函数使用注意事项② 函数作业布 8-23 1.函数再回顾 自定义函数 8-23 2.位运算① 8-23 3.位运算② 8-23 4.数组介绍 数组的创建 ?榈谋槔? 8-23 5.数组的引用 数组使用细节① 8-23 6.数组使用细节② 数组运算符 数组作业评讲① 数组小结 8-24 1.回顾 8-24 2.选择排序 插入排序 快速排序 8-24 3.选择排序 插入排序 快速排序 8-24 4.顺序查找 二分查找 8-24 5.多维数组 数组作业评讲② 8-24 6.数组作业评讲③ 8-24 7.类与对象的基本概念 8-26 1.成员属性 如何创建对象 8-26 2.对象在内存中存在形式 函数传递对象方式 8-26 3.函数传递基本数据类型和数组方式 成员方法① 8-26 4.成员方法② 8-26 5.作业评讲 8-27 mysql1 8-27 mysql2 8-28 1.mysql 8-28 2.mysql 8-28 3.mysql 8-28 4.mysql 8-28 5.mysql 8-28 6.mysql 8-30 1.mysql 8-30 2.mysql 8-30 3.mysql 8-30 4.mysql 8-30 5.mysql 8-31 1 8-31 2.外键、索引 8-31 3.事务处理 8-31 4 8-31 5 8-31 6 9-10 1.回顾 9-10 2.错误和异常处理介绍 处理错误方式①-die 9-10 3.处理错误方式②-错误处理器 错误级别 处理错误方式③-错误触发器 9-10 4.php错误日志 9-10 5.php异常处理 9-10 6.php进阶预热篇-php执行流程时序图 9-10 7.http协议深度剖析①-http请求详解 防盗链技术 9-13 0.回顾 9-13 1.http协议深度剖析②-http响应详解(302 304码运用) 9-13 2.http协议深度剖析③-http响应详解(禁用缓存设置) 9-13 3.http协议深度剖析④-http响应详解(文件下载) 9-13 4.http协议深度剖析⑤-http响应详解(作业评讲) 9-13 5.php数据库编程①-使用mysql扩展库 9-13 6.php数据库编程②-使用mysql扩展库 9-13 7.php数据库编程③-使用mysql扩展库 9-14 1.回顾 9-14 2.php数据库编程④-使用mysql扩展库(在线词典案例) 9-14 3.php数据库编程⑤-使用mysql扩展库(在线词典案例) 9-14 4.php数据库编程⑥-使用mysqli扩展库 9-14 5.php数据库编程⑦-使用mysqli扩展库 9-14 6.php数据库编程⑧-使用mysqli扩展库(布置练习) 9-14 7.php数据库编程⑨-使用mysqli扩展库增强(批量执行sql和事务控制) 9-17 1.回顾 9-17 2.php数据库编程(10)-使用mysqli扩展库增强(预处理技术) 9-17 3.php数据库编程(11)-使用mysqli扩展库增强(预处理技术) 9-17 4.预定义超全局数组①-原理分析 $_GET 9-17 5.预定义超全局数组②-$_POST $_REQUEST 9-17 6.预定义超全局数组③-$_SERVER $_ENV $GLOBALS 9-17 7.zend studio使用 项目开发五个阶段 雇员管理系统① 9-19 1.回顾 9-19 2.雇员管理系统②-model1模式简单登录 9-19 3.雇员管理系统③-model1模式数据库登录 9-19 4.雇员管理系统④-model1模式雇员分页 9-19 5.雇员管理系统⑤-分层模式管理员登录 9-20 1.回顾 9-20 2.雇员管理系统⑥-分层模式雇员分页 9-20 3.雇员管理系统⑦-分层模式整体翻页 9-20 4.雇员管理系统⑧-分层模式通用分页模块 9-20 5.雇员管理系统⑨-mvc模式介绍 9-21 1.回顾 9-21 2.mvc模式①-用mvc模式改进网站结构 9-21 3.mvc模式②-用mvc模式改进网站结构 9-21 4.cookie①-cookie原理介绍 创建cookie 获取cookie 9-21 5.cookie②-更新cookie 删除cookie cookie运用案例 9-21 6.cookie③-雇员管理系统使用cookie技术 1.显示上传登录时间2.保留登录id 9-23 1回顾 9-23 2.session①-session原理介绍 保存session 9-23 3.session②-获取session 更新session 删除session session细节和原理深入讨 9-23 4.session③-购物车 cookie禁用后如何使用session session防用户非法登录 9-23 5.session④-验证码防恶意攻击 9-23 6.session⑤-session配置 session的gc机制 自定义session处理器 9-24 0.回顾 9-24 1.回顾2 9-24 2.php文件编程①-文件操作原理 如何获取文件信息 如何读文件 9-24 3.php文件编程②-如何写文件 拷贝文件 创建和删除(文件夹、文件) 9-24 4.php文件编程③-文件的上传和下载 文件上传细节讨论 9-24 5.php文件编程④-mini文件共享网实现分析 9-24 6.PHP绘图技术 9-26 1 课程回顾 9-26 2 javascript基本介绍 9-26 3 javascript变量 标识符规范 9-26 4 javascript数据类型三大类型 9-26 5 javascript算术运算符及位运算 9-26 6 javascript三大流程控制 9-27 1 课程回顾 9-27 2 循环控制 金字塔的输出 9-27 3 循环控制 js的调试方法 9-27 4 函的数定义分类及使用 9-27 5 函数调用 递归及深入使用 9-27 6 一维?榧笆樵谀诖嬷械拇嬖谛问? 9-27 7 常用数组的属性及使用方法 9-28 1课程回顾 9-28 2 二维数组的定义使用 数组排序 9-28 3 顺序查找 二分查找 9-28 4 javascript面向对象编程 9-28 5 javascript对象存在形式 9-28 6 javascript类与对象 9-28 7 给对象指定成员函数 自定义工厂方法 9-30 1 课程回顾 9-30 2 javascript的闭包 js变量作用域 9-30 3 仿超级玛丽兄弟游戏制作 9-30 4 构造方法 对象的常用操作 9-30 5 面向对象的封装 继承 多态 9-30 6 面向对象的封装 继承 多态2 9-5 1.php xml编程①-xml基本介绍 xml元素 xml属性 9-5 2.php xml编程②-cdata 实体字符 处理指令 dtd快速入门 编?绦Q閤ml 9-5 3.php xml编程③-内部dtd 外边dtd dtd元素 dtd修饰符 9-5 4.php xml编程④-dtd属性 引用实体 参数实体 ide开发xml 9-5 5.php xml编程⑤-复杂的dtd综合练习 9-5 6.php xml编程⑥-dom基本概念 phpdom编程(1) 9-6 1.回顾 9-6 2.php xml编程⑦-phpdom编程(2) 9-6 3.php xml编程⑧-phpdom编程(3) 综合练习-基于xml的在线词典 9-6 4.php xml编程⑨-综合练习-基于xml的在线词典 phpdom使用xpath 9-6 5.php xml编程(10)-SimpleXML 9-7 1.回顾 9-7 2.析构方法 9-7 3.static关键字(静态变量) 9-7 4.static关键字(静态方法) 面向对象编程三大特性① 9-7 5.面向对象编程三大特性② 9-7 6.面向对象编程三大特性③ 9-9 1.回顾 9-9 2.面向对象编程三大特性④ 9-9 3.面向对象编程三大特性⑤ 抽象类 9-9 4.接口 9-9 5.继承与实现比较 final const 9-9 6.面向对象编程综合练习 10-10 1 课程回顾 10-10 2 正则表达式 10-10 3 正则表达式 子表达式 引用 反向捕获 10-10 4 正则表达式 元字符 语法 10-10 5 元字符 实例应用 10-10 6 供求信息网讲解1 10-10 7 供求信息网讲解2 10-11 1 供求信息网3 10-11 2 供求信息网4 10-11 3 供求信息网5 10-11 4 供求信息网6 10-15 1 zendframe手动部署 自动部署 10-15 2 zendframe架构讲解 10-15 3 view layout布局 10-15 4 view helper视图助手 10-15 5 遗留问题解决 10-15 6 zf重新部署 10-15 7 zf controller讲解 10-16 1 model讲解 controller view调用 10-16 2 投票系统讲解1 10-16 3 投票系统讲解2 10-16 4 投票系统讲解3 10-16 5 投票系统讲解4 10-18 1 模板技术讲解 10-18 2 smarty常用功能 10-18 3 smarty常用功能 10-18 4 smarty功能讲解 10-18 5 smarty流程控制 10-18 6 10-18 7 smarty include使用 10-19 1 smarty实例 注册 10-19 2 smarty实例 注册2 10-19 3 smarty实例 注册3 10-19 4 smarty 字符串 自定义插件 缓存 10-19 5 smarty 字符串 自定义插件 缓存 10-19 6 smarty实例应?? 10-19 7 smarty实例应用2 10-19 8 smarty实例应用3 10-20 1 smarty应用 更换网站皮肤 10-20 2 smarty应用 更换网站皮肤2 10-20 3 smarty应用 更换网站皮肤3 10-20 4 smarty应用 更换网站皮肤4 10-20 5 smarty二级联动 10-20 6 smarty完成静态化 10-20 7 10-20 8 smarty分页技术 10-20 9 10-22 1 ajax介绍 无刷新验证用户名 10-22 2 ajax如何处理xml格式返回数据 10-22 3 json 10-22 4 ajax如何处理json格式返回数据 10-22 5 ajax应用 省市联动 10-22 6 ajax应用 黄金市场报价 10-23 1 简易在线聊天室1 10-23 2 简易在线聊天室2 10-23 3 简易在线聊天室3 10-23 4 简易在线聊天室4 10-23 5 简易在线聊天室5 10-23 6 简易在线聊天室6 10-25 1 jquery框架 jquery对象与dom对象区别及混合使用 10-25 2 jquery id选择器 层次选择器 10-25 3 jquery过滤选择器及练习题讲解 10-25 4 内容过滤器 可见度过滤器及练习讲解 10-26 1 课程回顾 10-26 2 属性过滤选择器 10-26 3 子元素选择器 表单对象属性选择器 10-26 4 jquery对象集合遍历的四种形式及练习题讲解 jquery的dom操作 10-27 1课程回顾 10-27 2 jquery的dom操作 内部插入 外部插入 10-27 3 jquery节点操作 10-27 4 练习题讲解 10-27 5 jquery属性操作 获取子元素和兄弟元素的方法 10-27 6 练习题讲解 10-27 7 jquery和ajax整合使用的方法 10-29 1 svn安装及常用操作 10-29 2 svn常用操作 实例讲解1 10-29 3 svn常用操作 实例讲解2 10-29 4 svn常用操作 实例讲解3 10-29 5 svn常用操作 实例讲解4 10-30 1 linux简介 10-30 2 虚拟机安装 linux安装 10-30 3 常用命令 远程控制软件使用 10-30 4 vi编辑器使用 linux目录讲解 10-4 1 课程回顾 10-4 2 js面向对象多态 10-4 3 js内部对象和系统函数 10-4 5 js内部类 string array 10-4 6 js对象数组 常用系统函数 10-4 7 js事件 事件驱动机制 10-4 8 10-5 1 课程回顾 10-5 2 js dom编程 10-5 3 dom编程实例 乌龟抓鸡 10-5 4 dom编程实例 乌龟抓鸡2 10-5 5 dom层次关系 dom对象 10-5 6 dom实例讲解 小人行走 10-7 1 课程回顾 10-7 2 dom对象详解 10-7 3 dom对象详解2 10-7 4 document对象 10-7 5 乌龟抓鸡游戏加强版 10-7 6 常用dom对象node节点属性讲解 10-7 7 坦克大战初步讲解 10-8 1 课程回顾 乌龟抓鸡游戏bug修复 10-8 2 style对象 10-8 3 style对象实例讲解 10-8 4 form forms对象 img对象 link对象 table对象 10-8 5 table实例讲解 10-8 6 正则表达式 11-1 1 常用命令讲解 用户管理 运行级别 11-1 2 常用开发命令讲解2 11-1 3 常用开发命令讲解3 11-1 4 文件所在组 所有组 其它组讲解 11-2 lamp安装(php和apache的整合)2011-11-2-3 11-2 lamp安装之-mysql的安装和配置(2011-11-2-2) 11-2 rpm命令+samba安装(2011-11-2-5) 11-2 在linux下安装phpmyadmin软(2011-11-2-4) 11-5-1(上次课回顾) 11-5-2(页面静态化介绍) 11-5-3新闻管理系统(页面真静态) 11-5-4(真静态) 11-5-5(伪静态) 11-6 1(memcache原理介绍) 11-6 2-1(memcache的telnet操作,安装和基本使用) 11-6 2-2(memcach3的php的操作) 11-6 4(mysql数据库优化1) 11-6 5(mysql数据库优化 11-6 6(mysql数据库优化 11-8 商务网站项目1_1 11-8 商务网站项目1_2 11-8 商务网站项目1_3 11-9 商务网站项目2_1 11-9 商务网站项目2_2 11-9 商务网站项目2_3 11-9 商务网站项目2_4-单例模式 11-9 商务网站项目2_5 11-10 商务网站项目3_1 11-10 商务网站项目3_2 11-10 商务网站项目3_3 11-12 商务网站项目4_1 11-12 商务网站项目4_2 11-12 商务网站项目4_3-订单提交 11-13 商务网站项目4_4(没声音) 11-13 商务网站项目4_5 11-13 商务网站项目4_6 11-15 商务网站项目5_ec二次开发 11-17 yii_store项目1 11-19 yii框架_store项目 11-19 yii框架_store项目 11-19 yii框架_store项目 11-19 yii框架_store项目 11-19 yii框架_store项目 11-20-yii框架_store项目 11-20-yii_store项目 11-20-yii_store项目 11-20-yii_store项目 11-20-yii_store项目 11-22 yii_store项目 11-22 yii_store项目 11-23 yii_store项目 11-23 yii_store项目 11-24 yii_store项目 11-24 yii_store项目 11-24 yii_store项目 11-25 yii_store项目
本教程将向您介绍使用ASP.NET SignalR 2和ASP.NET MVC 5进行实时Web应用程序开发。本教程使用与SignalR入门教程相同的聊天应用程序代码,但演示如何将其添加到MVC 5应用程序。 在这个主题中,您将学习以下SignalR开发任务: 将SignalR库添加到MVC 5应用程序。 创建集线器和OWIN启动类来将内容推送到客户端。 在网页中使用SignalR jQuery库来发送消息并从集线器显示更新。 以下屏幕截图显示了在浏览器中运行的已完成的聊天应用程序。 聊天实例 部分: 设置项目 运行示例 检查代码 下一步 设置项目 先决条件: Visual Studio 2013.如果您没有Visual Studio,请参阅ASP.NET下载以获取免费的Visual Studio 2013 Express开发工具。 本节介绍如何创建ASP.NET MVC 5应用程序,添加SignalR库以及创建聊天应用程序。 在Visual Studio中,创建一个面向.NET Framework 4.5的C#ASP.NET应用程序,将其命名为SignalRChat,然后单击确定。 创建网页 在New ASP.NET Project对话框中选择MVC,然后点击Change Authentication。 创建网页 在更改身份验证对话框中选择无身份验证,然后单击确定。 选择不验证 注意 如果您为您的应用程序选择不同的身份验证提供程序,Startup.cs则将为您创建一个班级; 您将不需要Startup.cs在下面的第10步中创建自己的课程。 在“ 新建ASP.NET项目”对话框中单击确定。 打开工具| 库包管理器| 程序包管理器控制台并运行以下命令。此步骤向项目添加了一组启用SignalR功能的脚本文件和程序集引用。 install-package Microsoft.AspNet.SignalR 在解决方案资源管理器中,展开脚本文件夹。请注意,SignalR的脚本库已添加到项目中。 脚本文件夹 在解决方案资源管理器中,右键单击该项目,选择添加| 新建文件夹,并添加一个名为Hubs的新文件夹。 用鼠标右键单击该Hubs文件夹,单击添加| 新建项目,选择Visual C#| Web | SignalR节点安装窗格中,从中心窗格中选择SignalR Hub Class(v2),并创建一个名为ChatHub.cs的新中心。您将使用此类作为将消息发送到所有客户端的SignalR服务器中心。 创建新的中心 用下面的代码替换ChatHub类中的代码。 C# 复制 using System; using System.Web; using Microsoft.AspNet.SignalR; namespace SignalRChat { public class ChatHub : Hub { public void Send(string name, string message) { // Call the addNewMessageToPage method to update clients. Clients.All.addNewMessageToPage(name, message); } } } 创建一个名为Startup.cs的新类。将文件的内容更改为以下内容。 C# 复制 using Owin; using Microsoft.Owin; [assembly: OwinStartup(typeof(SignalRChat.Startup))] namespace SignalRChat { public class Startup { public void Configuration(IAppBuilder app) { // Any connection or hub wire up and configuration should go here app.MapSignalR(); } } } 编辑HomeController在Controllers / HomeController.cs中找到的类,并将以下方法添加到类中。此方法返回您将在稍后的步骤中创建的聊天视图。 C# 复制 public ActionResult Chat()
不定项选择题(共14题,单选或多选): 一、一个HTML文档必须包含三个元素,它们是head、html和( )。 A.scriptB.bodyC.titleD.link 二、下面哪段javascript能弹出一个提示框?( ) A.document.alert(test) B.window.alert(test) C.document.alert('test ') D.window.alert('test ') 三、当鼠标放在一个链接上的css样式应该( )伪类来定义。 A.a:visitedB.a:linkC.a:hoverD.a:active 四、关于ASP.NET中的代码隐藏文件的描述正确的是( )。 A.Web窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。该文件称作为“代码隐藏”文件,如果用C#创建,该文件将具有“.ascx.cs”扩展名 B.web窗体也是类 C.项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件 D.以上都不正确 五、下列ASP.NET语句( )正确地创建了一个与SQL Server数据库的连接。 A.SqlConnection con1 = new Connection(“Data Source = localhost; Trusted_Connection =Yes; Initial Catalog = myDB”); B.SqlConnection con1 = new SqlConnection(“Data Source = localhost; Trusted_Connection =Yes; Initial Catalog = myDB”); C.SqlConnection con1 = new OleDbConnection(“Data Source = localhost; Trusted_Connection =Yes; Initial Catalog = myDB”); D.SqlConnection con1 = new SqlConnection(Data Source = localhost; Trusted_Connection =Yes; Initial Catalog = myDB); 六、执行一次无返回的数据删除,必须用到下面哪些对象? ( ) A.SqlConnectionB.SqlDataAdapterC.SqlCommandD.SqlDataReader 七、在ADO.NET中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误的是( ) A.insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行; B.ExecuteNonQuery()方法返回执行Sql语句所影响的行数。 C.Select操作的Sql语句只能由ExecuteReader()方法来执行; D.ExecuteReader()方法返回一个DataReder对象; 八、ASP.NET有多种维护状态的技术,以下哪种是保存在客户端的?( ) A.VIEWSTATEB.SESSIONC.APPLICATIOND.数据CACHE 九、Cookies的默认生命周期有多长? ( ) A.20分钟B.30分钟C. 一天D.随浏览器的关闭而失效 十、int[][] myArray=new int[3][]{ new int[3]{ 5, 6, 2 }, new int[5]{ 6, 9, 7, 8, 3 }, new int[2]{ 3, 2 }}; myArray[2][2]的是( ) A.9B.2C.6D.越界 十一、要为做了输出缓存的页面实现即时判断用户IP来路,可在以下哪种事件中实现? ( ) A.Page.InitB.HttpApplication.BeginRequest C.Page.LoadD.以上都不是 十二、下面哪个SQL语句完全正确( ) A.Select count(*) from (select top 10 * from table order by bb) tb group by cc B.update set bb = bb + 1 from table C.Select count(*) from (select distinct * from table) tb group by cc D.delete * from table 十三、为了实现a.aspx的URL重写,下面哪个正则表达式替换可以实现?( ) A. Regex.Replace(sUrl, @“/(\d+).aspx”, “a.aspx?ID=$0”, RegexOptions.IgnoreCase) B. Regex.Replace(sUrl, @“/(\d+).aspx”, “/a.aspx?ID=$0”, RegexOptions.IgnoreCase) C. Regex.Replace(sUrl, @“/(\d+).aspx”, “a.aspx?ID=$1”, RegexOptions.IgnoreCase) D. Regex.Replace(sUrl, @“/(\d+).aspx”, “/a.aspx?ID=$1”, RegexOptions.IgnoreCase) 十四、下面javascript代码的输出结果是( ) var aa = new Array(1, 2, 4, 5, 3, 6); var c = 0; for (var i = 0; i < aa.length; ++i){ c += aa.pop(); } document.write(c); 提示:Array.pop()函数将数组内最后一个元素移除并返回该元素 A.7 B.14 C.21 D.以上皆不正确 填空题(共4题): 一、C#中判断整型变量k是否偶数的语句: 二、有这样的枚举定义:public enum TrainType{ 空调, 快速, 新型, 卧铺 },为实现它的按位组合,你会分别赋予它们什么?请用逗号按顺序分隔开 三、C#中为了防止非本程序集的代码访问,可以用什么关键字修饰类或者类成员? 四、为了将table表内bb(datetime类型)字段的数据按年月降序输出,对应的SQL语句为 选择题答案: 1.B,2.D,3.C,4.BC,5.B,6.AC,7.C,8.A,9.D,10.D,11.B,12.AC,13.D,14.B 填空题答案: 1.(k & 1) == 0 或 k % 2 == 0 2.1,2,4,8(答案不定,看情况) 3.internal 4.select * from table order by year(bb) desc, month(bb) desc 1.new有几种用法 第一种:new Class(); 第二种:覆盖方法 public new XXXX(){} 第三种:new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。 2.如何把一个array复制到arrayList里 foreach( object o in array )arrayList.Add(o); 3.datagrid.datasouse可以连接什么数据源 [dataset,datatable,dataview] dataset,datatable,dataview , IList 4.概述反射和序列化 反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性 序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。 5.概述o/r mapping 的原理 利用反射,配置 将类于数据库表映射 6.类成员有( )种可访问形式 可访问形式?不懂。 可访问性:public ,protected ,private,internal 7.用sealed修饰的类有什么特点 sealed 修饰符用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其他类的基类,则会发生编译时错误。 密封类不能同时为抽象类。 sealed 修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。 8.列举ADO.NET中的五个主要对象,并简单描述 connection,command,dataReader,trans,dataset ... 9.执行下面代码后: String strTemp ="abcdefg 某某某"; Int i System.Text.Encoding.Default.GetBytes(strTemp).Length; Int j = strTemp.Length; 问:i=(14 ) ;j=(11 ) i=(14 ) ;j=(11 ) 中文两个字节 10.C#中,string str = null 与 string str ="",请尽量用文字说明区别。(要点:说明详细的内存空间分配) string str ="" 分配空间 11.详述.NET里class和struct的异同! class:放在 ? struct放在? struct传递 类与结构有很多相似之处:结构可以实现接口,并且可以具有与类相同的成员类型。然而,结构在几个重要方面不同于类:结构为类型而不是引用类型,并且结构不支持继承。结构的存储在“在堆栈上”或“内联”。细心的程序员有时可以通过聪明地使用结构来增强性能。 12.概述.NET里对 remoting 和 webservice 两项技术的理解和实际中的应用。 远程逻辑调用,remoing接口只能用在.net中 13.什么是code-behind技术 aspx and cs 14.概述三层结构体系 web/business/dataaccess 15.asp.net如何实现MVC模式,举例说明! web/business/dataaccess ---------------------------------------------------------------------------------------------------------- 1.面向对象的思想主要包括什么? 答:这个题范围太广,不知道说什么. 2.什么是ASP.net中的用户控件 答:用户控件就是.ascx扩展名的东西喽,可以拖到不同的页面中调用,以节省代码.比如登陆可能在多个页面上有,就可以做成用户控件,但是有一个问题就是用户控件拖到不同级别的目录下后里面的图片等的相对路径会变得不准确,需要自已写方法调整. 3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释? 答:装箱就是把类型转成引用类型,从MS IL角度看好像是boxing,没记错的话是把从堆栈转到堆中.拆箱相反,重载就是指一个方法名同,参数个数不同,返回可以相同的方法.CLR是通用语言运行时,其它的不清楚. 4.列举一下你所了解的XML技术及其应用 答:XML可是好东西,保存配置,站与站之间的交流,WEB SERVICE都要用它. 5.类型和引用类型的区别?写出C#的样例代码。 答:结构是类型,类是引用类型,所以传结构就是类型的应用啦,传对象或类就是引用类型的,这个不用多写了吧. 6.ADO.net中常用的对象有哪些?分别描述一下。 答:connection command sqladapter dataset datatable dataview等等.写不完了. 7.如何理解委托? 答:据说相当于函数指针,定义了委托就可以在不调用方法名称的情况下调用那个方法. msdn2005中是这样解释的: 委托具有以下特点: 委托类似于 C++ 函数指针,但它是类型安全的。 委托允许将方法作为参数进行传递。 委托可用于定义回调方法。 委托可以链接在一起;例如,可以对一个事件调用多个方法方法不需要与委托签名精确匹配。有关更多信息,请参见协变和逆变。 C# 2.0 版引入了匿名方法的概念,此类方法允许将代码块作为参数传递,以代替单独定义的方法。 8.C#中的接口和类有什么异同。 答:这个异同可多了,要说清楚还真不容易. 9.。net中读写数据库需要用到哪些类?他们的作用 答:这个类自已可以写的啊,你是指基类吗?那configuration,sqlconnection,sqlcommand等都要用到. 10.UDP连接和TCP连接的异同。 答:前者只管传,不管数据到不到,无须建立连接.后者保证传输的数据准确,须要连结. 11.ASP.net的身份验证方式有哪些?分别是什么原理? 答:form认证,windows集成认证等,原理不清楚. 12.进程和线程分别怎么理解? 答:进程是老子,线程是儿子,没有老子就没有儿子,一个老子可以有多个儿子.一个儿子可以成为别人的儿子,一个老子也可以为别的老子生儿子. 13.什么是code-Behind技术。 答:代码分离,这是个明智的东西,像ASP这样混成一堆很不爽.或者可以理解成HTML代码写在前台,C#代码写在后台.当然前台也有脚本,类的调用等,其实写在一起也是可以的. 14.活动目录的作用。 答:这个不明白.请明白的补充一下. 15..net中读写XML的类都归属于哪些命名空间? 答:System.Xml 我自已写的就不一定了,嘿嘿. 16.解释一下UDDI、WSDL的意义及其作用。 答:什么东西? 17.什么是SOAP,有哪些应用。 答:SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一直语言相互通信。这种相互通信采用的是XML格式的消息,具体请看:http://playist.blogchina.com/2521621.html 18.如何部署一个ASP.net页面。 答:随便啦,想直接上传就直接上传,想打包成EXE就打包,看个人喜好. 19.如何理解.net中的垃圾回收机制。 答:GC?对象创建了总要清除啊,不然内存哪够用?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值