2008-07-09 20:14:00 moshuchao 阅读数 4818
  • C# For Unity系列之进阶篇

    整体介绍:       本进阶篇面向的学员不再是完全的编程“小白”,而是具备一定C#编程经验,需要进一步查漏补缺、或者需要进一步全面完善自己C#编程知识体系的广大Unity学员。相信通过本进阶篇的学习,可以使得Unity初中级开发人员对于编程语言的掌握更进一步;对于开发中大型游戏项目,在编程语言这一层级进一步打下坚实的语言基础。 “中级/进阶篇”讲解特点与内容:          本“中级”与“进阶”篇, 是面向初中级游戏研发人员,以及Unity中高级学习者。为了更加深入的刨析各个语法的本质,我们采用反编译解读IL中间语言的方式,来解构语法重点与难点。 中级篇内容主要讲解: .Net 框架、里氏替换原则(LSP)、类的属性极其本质特性、IS ,AS 关键字、字符串的“驻留性” 原理、深入解析Equals() 原理、枚举类型、自定义集合、深入解析动态集合特性与内部原理、泛型集合、泛型约束、初级委托与事件讲解等。         "进阶篇"是在中级篇的基础之上,进一步研究与讲解关于IO操作、序列化、正则表达式、系统委托(Action、Function、Predicate等)、反射原理与特性、Linq查询表达式、多线程、线程池、任务、Socket套接字编程(Tcp与UDP协议),以及最后使用Unity开发具备实战价值的通讯聊天程序等。   C#“进阶篇”教学详细说明如下: 1: IO操作与序列化       学习文件、目录、二进制文件、文本文件的读取与写入底层原理。学习文件序列化与反序列化技能。 2: 正则表达式       学习正则表达式的强大作用与常用原字符的含义与应用场景。 3: 深入委托与事件       学习Action、Func、Predicate 系统内置委托类型,已经适用场合。学习匿名方法、Lambda表达式。深入解析委托与事件的区别。 4: 反射与特性       学习反射的概念与动态调用的重要应用价值,以及Type、Assembley核心类等,最后讲解“特性”技术。   5: Linq 查询表达式      学习Linq 查询表达式对于“对象集合”(支持IEnumberable 或IEnumberable<T>) 以及SQL数据库、XML文档方面的强大查询功能。       6: 多线程      学习多线程以及线程传参、线程取得返回数值技术,前台与后台线程、线程的同步、线程池、任务等技术。      7: Socket套接字通讯      学习Socket套接字通讯中,Tcp与UPD通讯协议的不同应用场景,以及各自的演示示例,最后用Unity开发一款实用性的聊天通讯工具。 温习提示:             本C# for Unity 使用Virtual Studio2012,以及Unity5.2 进行开发与讲解。(学员使用更高版本,对学习没有任何影响)。      一、热更新系列(技术含量:中高级): A:《lua热更新技术中级篇》 https://edu.csdn.net/course/detail/27087 B:《热更新框架设计之Xlua基础视频课程》 https://edu.csdn.net/course/detail/27110 C:《热更新框架设计之热更流程与热补丁技术》 https://edu.csdn.net/course/detail/27118 D:《热更新框架设计之客户端热更框架(上)》 https://edu.csdn.net/course/detail/27132 E:《热更新框架设计之客户端热更框架(中)》 https://edu.csdn.net/course/detail/27135 F:《热更新框架设计之客户端热更框架(下)》 https://edu.csdn.net/course/detail/27136 二:框架设计系列(技术含量:中级):  A:《游戏UI界面框架设计系列视频课程》 https://edu.csdn.net/course/detail/27142 B:《Unity客户端框架设计PureMVC篇视频课程(上)》 https://edu.csdn.net/course/detail/27172 C:《Unity客户端框架设计PureMVC篇视频课程(下)》 https://edu.csdn.net/course/detail/27173 D:《AssetBundle框架设计_框架篇视频课程》 https://edu.csdn.net/course/detail/27169 三、Unity脚本从入门到精通(技术含量:初级) A:《C# For Unity系列之入门篇》 https://edu.csdn.net/course/detail/4560 B:《C# For Unity系列之基础篇》 https://edu.csdn.net/course/detail/4595 C: 《C# For Unity系列之中级篇》 https://edu.csdn.net/course/detail/24422 D:《C# For Unity系列之进阶篇》 https://edu.csdn.net/course/detail/24465 四、虚拟现实(VR)与增强现实(AR):(技术含量:初级) A:《虚拟现实之汽车仿真模拟系统 》 https://edu.csdn.net/course/detail/26618 五、Unity基础课程系列(技术含量:初级)  A:《台球游戏与FlappyBirds—Unity快速入门系列视频课程(第1部)》   https://edu.csdn.net/course/detail/24643 B:《太空射击与移动端发布技术-Unity快速入门系列视频课程(第2部)》 https://edu.csdn.net/course/detail/24645  C:《Unity ECS(二) 小试牛刀》 https://edu.csdn.net/course/detail/27096 六、Unity ARPG课程(技术含量:初中级): A:《MMOARPG地下守护神_单机版实战视频课程(上部)》 https://edu.csdn.net/course/detail/24965 B:《MMOARPG地下守护神_单机版实战视频课程(中部)》 https://edu.csdn.net/course/detail/24968 C:《MMOARPG地下守护神_单机版实战视频课程(下部)》 https://edu.csdn.net/course/detail/24979

    1334 人正在学习 去看看 刘国柱
             Javascript调用C#代码的方法网上介绍了很多种方法,也很详细,但没有向C#传递参数的方法。今天刚好用到,搞了半天才搞出来(其实我很笨)。下面说一下具体实现的方法。 一、使用HiddenField 控件。      HiddenField控件顾名思义就是隐藏输入框的服务器控件,它能让你保存那些不需要显示在页面上的且对安全性要求不高的数据。也许这个时候应该有这么一个疑问,为什么有了ViewState、Session和Cookie等状态保存机制,还需要用起HiddenField呢?    增加HiddenField,其实是为了让整个状态管理机制的应用程度更加全面。因为不管是ViewState、Cookie还是Session,都有 其失效的时候,比如用户因某种需求要求设置ViewState为false,或者环境条件限制使用Cookie,或者用户长时间没有动作导致 Session过期等等,那这个时候HiddenField无疑是最佳选择。   HiddenField控件的作用简单的说是用于存 储需要在向服务器的发送间保持的值。它作为 <input type= "hidden"/> 元素呈现,并且通过添加runat=”server”就可以使它成为标准的HTML服务器控件。下面列出的是ASP.NET HiddenField Web服务器控件可以使用的属性和事件。       
        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /><asp:Button

        <a href="javascript:TestPostValue('test')">Test Post By HiddenField</a><br/>

    <asp:HiddenField ID="hidden" runat="server" />



...

    <script type="text/javascript">

   function TestPostValue(value)

{

    document.getElementById("hidden").value=value;

    document.getElementById("Button1").click();

}

    </script>
        protected void Button1_Click(object sender, EventArgs e)

        {

            Response.Write(hidden.Value);

        }


二、利用Cookies

Cookie的用法也和ASP中差不多。

比如我们建立一个名为aspcn,值为飞刀的cookie HttpCookie cookie = new HttpCookie["aspcn"]; cookie.Value = "飞刀"; Response.AppendCookie(cookie); 我们取出Cookie值也很简单 HttpCookie cookie = Request.Cookies["aspcn"]; cookieValue = cookie.Value; 有时候我们想在一个Cookie中储存多个信息,那也没有问题。比如我们在名为aspcn的cookie下加多个信息 HttpCookie cookie = new HttpCookie("aspcn"); cookie.Values.Add("webmaster","飞刀"); cookie.Values.Add("writer","beige"); cookie.Values.Add("LinkColor","blue"); Response.AppendCookie(cookie); 取出信息也一样简单 HttpCookie cookie = Request.Cookies["aspcn"]; value1 = cookies.Values["webmaster"]; value2 = cookies.Values["writer"];

View State

这是一个新出来的东东,用法和Session一样,他的主要用途是记录Web Control的状态。虽然是新出来的,但是和Application、Session的用法没有什么区别,所以也不想详细讲解了。 State["DropLoadIndex"] = 0 ; 基本用法如上:),但是请记住,他保存在的信息只能在一个aspx文件中使用。出去后,这个就没有用了,因为他的用途只是保存WEB控件的状态。

我的实现代码:

<asp:Button         ID="Button2" runat="server" Text="Button" OnClick="Button2_Click" />

        <a href="javascript:TestPostByCookies('Test')">Test Post By Cookies</a>

function TestPostByCookies(value)

{

    SetCookie("myCookie",value);

    document.getElementById("Button2").click();

}





//写cookies函数 作者:翟振凯

function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值

{

    var Days = 30; //此 cookie 将被保存 30 天

    var exp  = new Date();    //new Date("December 31, 9998");

    exp.setTime(exp.getTime() + Days*24*60*60*1000);

    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();

}

function getCookie(name)//取cookies函数        

{

    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));

     if(arr != null) return unescape(arr[2]); return null;



}

function delCookie(name)//删除cookie

{

    var exp = new Date();

    exp.setTime(exp.getTime() - 1);

    var cval=getCookie(name);

    if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();

}

        protected void Button2_Click(object sender, EventArgs e)

        {

            HttpCookie cook =  Request.Cookies["myCookie"];

            Response.Write(cook.Value);

        }

 

                                
2013-07-26 09:22:53 tiz198183 阅读数 924
  • C# For Unity系列之进阶篇

    整体介绍:       本进阶篇面向的学员不再是完全的编程“小白”,而是具备一定C#编程经验,需要进一步查漏补缺、或者需要进一步全面完善自己C#编程知识体系的广大Unity学员。相信通过本进阶篇的学习,可以使得Unity初中级开发人员对于编程语言的掌握更进一步;对于开发中大型游戏项目,在编程语言这一层级进一步打下坚实的语言基础。 “中级/进阶篇”讲解特点与内容:          本“中级”与“进阶”篇, 是面向初中级游戏研发人员,以及Unity中高级学习者。为了更加深入的刨析各个语法的本质,我们采用反编译解读IL中间语言的方式,来解构语法重点与难点。 中级篇内容主要讲解: .Net 框架、里氏替换原则(LSP)、类的属性极其本质特性、IS ,AS 关键字、字符串的“驻留性” 原理、深入解析Equals() 原理、枚举类型、自定义集合、深入解析动态集合特性与内部原理、泛型集合、泛型约束、初级委托与事件讲解等。         "进阶篇"是在中级篇的基础之上,进一步研究与讲解关于IO操作、序列化、正则表达式、系统委托(Action、Function、Predicate等)、反射原理与特性、Linq查询表达式、多线程、线程池、任务、Socket套接字编程(Tcp与UDP协议),以及最后使用Unity开发具备实战价值的通讯聊天程序等。   C#“进阶篇”教学详细说明如下: 1: IO操作与序列化       学习文件、目录、二进制文件、文本文件的读取与写入底层原理。学习文件序列化与反序列化技能。 2: 正则表达式       学习正则表达式的强大作用与常用原字符的含义与应用场景。 3: 深入委托与事件       学习Action、Func、Predicate 系统内置委托类型,已经适用场合。学习匿名方法、Lambda表达式。深入解析委托与事件的区别。 4: 反射与特性       学习反射的概念与动态调用的重要应用价值,以及Type、Assembley核心类等,最后讲解“特性”技术。   5: Linq 查询表达式      学习Linq 查询表达式对于“对象集合”(支持IEnumberable 或IEnumberable<T>) 以及SQL数据库、XML文档方面的强大查询功能。       6: 多线程      学习多线程以及线程传参、线程取得返回数值技术,前台与后台线程、线程的同步、线程池、任务等技术。      7: Socket套接字通讯      学习Socket套接字通讯中,Tcp与UPD通讯协议的不同应用场景,以及各自的演示示例,最后用Unity开发一款实用性的聊天通讯工具。 温习提示:             本C# for Unity 使用Virtual Studio2012,以及Unity5.2 进行开发与讲解。(学员使用更高版本,对学习没有任何影响)。      一、热更新系列(技术含量:中高级): A:《lua热更新技术中级篇》 https://edu.csdn.net/course/detail/27087 B:《热更新框架设计之Xlua基础视频课程》 https://edu.csdn.net/course/detail/27110 C:《热更新框架设计之热更流程与热补丁技术》 https://edu.csdn.net/course/detail/27118 D:《热更新框架设计之客户端热更框架(上)》 https://edu.csdn.net/course/detail/27132 E:《热更新框架设计之客户端热更框架(中)》 https://edu.csdn.net/course/detail/27135 F:《热更新框架设计之客户端热更框架(下)》 https://edu.csdn.net/course/detail/27136 二:框架设计系列(技术含量:中级):  A:《游戏UI界面框架设计系列视频课程》 https://edu.csdn.net/course/detail/27142 B:《Unity客户端框架设计PureMVC篇视频课程(上)》 https://edu.csdn.net/course/detail/27172 C:《Unity客户端框架设计PureMVC篇视频课程(下)》 https://edu.csdn.net/course/detail/27173 D:《AssetBundle框架设计_框架篇视频课程》 https://edu.csdn.net/course/detail/27169 三、Unity脚本从入门到精通(技术含量:初级) A:《C# For Unity系列之入门篇》 https://edu.csdn.net/course/detail/4560 B:《C# For Unity系列之基础篇》 https://edu.csdn.net/course/detail/4595 C: 《C# For Unity系列之中级篇》 https://edu.csdn.net/course/detail/24422 D:《C# For Unity系列之进阶篇》 https://edu.csdn.net/course/detail/24465 四、虚拟现实(VR)与增强现实(AR):(技术含量:初级) A:《虚拟现实之汽车仿真模拟系统 》 https://edu.csdn.net/course/detail/26618 五、Unity基础课程系列(技术含量:初级)  A:《台球游戏与FlappyBirds—Unity快速入门系列视频课程(第1部)》   https://edu.csdn.net/course/detail/24643 B:《太空射击与移动端发布技术-Unity快速入门系列视频课程(第2部)》 https://edu.csdn.net/course/detail/24645  C:《Unity ECS(二) 小试牛刀》 https://edu.csdn.net/course/detail/27096 六、Unity ARPG课程(技术含量:初中级): A:《MMOARPG地下守护神_单机版实战视频课程(上部)》 https://edu.csdn.net/course/detail/24965 B:《MMOARPG地下守护神_单机版实战视频课程(中部)》 https://edu.csdn.net/course/detail/24968 C:《MMOARPG地下守护神_单机版实战视频课程(下部)》 https://edu.csdn.net/course/detail/24979

    1334 人正在学习 去看看 刘国柱

其他技巧:js 调用按钮查询的c#方法

                 document.getElementById("按钮ID").click();

 

效果:

 

一、前台代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm10.aspx.cs" Inherits="Web.WebForm10" %>

<!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">
        function login(name, password) 
       {
           var h = '<%=Hello("' + name + '","'+password+'")%>'
           alert(h);
       }    
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input id="Button1" type="button" value="js调用c#后台的多参方法" onclick="login('小张','111111')"/>
    </div>
    </form>
</body>
</html>


 

二、后台代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

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

        }

        public string Hello(string u,string y)        
        {
            return "用户名:" + u + ",密码:" + y;      
        }
    }
}


 

 

2018-08-22 09:17:00 weixin_30588729 阅读数 33
  • C# For Unity系列之进阶篇

    整体介绍:       本进阶篇面向的学员不再是完全的编程“小白”,而是具备一定C#编程经验,需要进一步查漏补缺、或者需要进一步全面完善自己C#编程知识体系的广大Unity学员。相信通过本进阶篇的学习,可以使得Unity初中级开发人员对于编程语言的掌握更进一步;对于开发中大型游戏项目,在编程语言这一层级进一步打下坚实的语言基础。 “中级/进阶篇”讲解特点与内容:          本“中级”与“进阶”篇, 是面向初中级游戏研发人员,以及Unity中高级学习者。为了更加深入的刨析各个语法的本质,我们采用反编译解读IL中间语言的方式,来解构语法重点与难点。 中级篇内容主要讲解: .Net 框架、里氏替换原则(LSP)、类的属性极其本质特性、IS ,AS 关键字、字符串的“驻留性” 原理、深入解析Equals() 原理、枚举类型、自定义集合、深入解析动态集合特性与内部原理、泛型集合、泛型约束、初级委托与事件讲解等。         "进阶篇"是在中级篇的基础之上,进一步研究与讲解关于IO操作、序列化、正则表达式、系统委托(Action、Function、Predicate等)、反射原理与特性、Linq查询表达式、多线程、线程池、任务、Socket套接字编程(Tcp与UDP协议),以及最后使用Unity开发具备实战价值的通讯聊天程序等。   C#“进阶篇”教学详细说明如下: 1: IO操作与序列化       学习文件、目录、二进制文件、文本文件的读取与写入底层原理。学习文件序列化与反序列化技能。 2: 正则表达式       学习正则表达式的强大作用与常用原字符的含义与应用场景。 3: 深入委托与事件       学习Action、Func、Predicate 系统内置委托类型,已经适用场合。学习匿名方法、Lambda表达式。深入解析委托与事件的区别。 4: 反射与特性       学习反射的概念与动态调用的重要应用价值,以及Type、Assembley核心类等,最后讲解“特性”技术。   5: Linq 查询表达式      学习Linq 查询表达式对于“对象集合”(支持IEnumberable 或IEnumberable<T>) 以及SQL数据库、XML文档方面的强大查询功能。       6: 多线程      学习多线程以及线程传参、线程取得返回数值技术,前台与后台线程、线程的同步、线程池、任务等技术。      7: Socket套接字通讯      学习Socket套接字通讯中,Tcp与UPD通讯协议的不同应用场景,以及各自的演示示例,最后用Unity开发一款实用性的聊天通讯工具。 温习提示:             本C# for Unity 使用Virtual Studio2012,以及Unity5.2 进行开发与讲解。(学员使用更高版本,对学习没有任何影响)。      一、热更新系列(技术含量:中高级): A:《lua热更新技术中级篇》 https://edu.csdn.net/course/detail/27087 B:《热更新框架设计之Xlua基础视频课程》 https://edu.csdn.net/course/detail/27110 C:《热更新框架设计之热更流程与热补丁技术》 https://edu.csdn.net/course/detail/27118 D:《热更新框架设计之客户端热更框架(上)》 https://edu.csdn.net/course/detail/27132 E:《热更新框架设计之客户端热更框架(中)》 https://edu.csdn.net/course/detail/27135 F:《热更新框架设计之客户端热更框架(下)》 https://edu.csdn.net/course/detail/27136 二:框架设计系列(技术含量:中级):  A:《游戏UI界面框架设计系列视频课程》 https://edu.csdn.net/course/detail/27142 B:《Unity客户端框架设计PureMVC篇视频课程(上)》 https://edu.csdn.net/course/detail/27172 C:《Unity客户端框架设计PureMVC篇视频课程(下)》 https://edu.csdn.net/course/detail/27173 D:《AssetBundle框架设计_框架篇视频课程》 https://edu.csdn.net/course/detail/27169 三、Unity脚本从入门到精通(技术含量:初级) A:《C# For Unity系列之入门篇》 https://edu.csdn.net/course/detail/4560 B:《C# For Unity系列之基础篇》 https://edu.csdn.net/course/detail/4595 C: 《C# For Unity系列之中级篇》 https://edu.csdn.net/course/detail/24422 D:《C# For Unity系列之进阶篇》 https://edu.csdn.net/course/detail/24465 四、虚拟现实(VR)与增强现实(AR):(技术含量:初级) A:《虚拟现实之汽车仿真模拟系统 》 https://edu.csdn.net/course/detail/26618 五、Unity基础课程系列(技术含量:初级)  A:《台球游戏与FlappyBirds—Unity快速入门系列视频课程(第1部)》   https://edu.csdn.net/course/detail/24643 B:《太空射击与移动端发布技术-Unity快速入门系列视频课程(第2部)》 https://edu.csdn.net/course/detail/24645  C:《Unity ECS(二) 小试牛刀》 https://edu.csdn.net/course/detail/27096 六、Unity ARPG课程(技术含量:初中级): A:《MMOARPG地下守护神_单机版实战视频课程(上部)》 https://edu.csdn.net/course/detail/24965 B:《MMOARPG地下守护神_单机版实战视频课程(中部)》 https://edu.csdn.net/course/detail/24968 C:《MMOARPG地下守护神_单机版实战视频课程(下部)》 https://edu.csdn.net/course/detail/24979

    1334 人正在学习 去看看 刘国柱

【1】Web项目中用JS方式调用Cef项目的c#方法:

CEF项目中:
注册C#类为JS对象

browser.RegisterAsyncJsObject("TestJsObject", _thisJsObject, false);

 其中:
browser为实例化的ChromiumWebBrowser对象
参数二是被调用的C#类
参数一是c#类对外的名称,
参数三为是否使用驼峰命名法,为false可以在起名时将首字母大写

Web项目中:

<script >
    function GetCef() {
        //cef里注册为JS的C#类【注册的JS名.GetStrThree()为类里的方法名,res为方法的返回值】
        TestJsObject.GetStrThree().then(function(res) {
                alert(res);
            }
        );
    }       
</script>

 

【2】Cef项目中用使用C#代码调用Web项目中的JS方法:

Web项目中:

    <script >
        function DisplayDate() {
           alert("JS方法");
     
        }
    </script>

 Cef项目中:

browser.ExecuteScriptAsync("DisplayDate()");

 其中
browser为实例化的ChromiumWebBrowser对象
参数为JS方法名

转载于:https://www.cnblogs.com/TheBob/p/9515753.html

2016-05-31 11:29:24 zhoulei13572468 阅读数 3067
  • C# For Unity系列之进阶篇

    整体介绍:       本进阶篇面向的学员不再是完全的编程“小白”,而是具备一定C#编程经验,需要进一步查漏补缺、或者需要进一步全面完善自己C#编程知识体系的广大Unity学员。相信通过本进阶篇的学习,可以使得Unity初中级开发人员对于编程语言的掌握更进一步;对于开发中大型游戏项目,在编程语言这一层级进一步打下坚实的语言基础。 “中级/进阶篇”讲解特点与内容:          本“中级”与“进阶”篇, 是面向初中级游戏研发人员,以及Unity中高级学习者。为了更加深入的刨析各个语法的本质,我们采用反编译解读IL中间语言的方式,来解构语法重点与难点。 中级篇内容主要讲解: .Net 框架、里氏替换原则(LSP)、类的属性极其本质特性、IS ,AS 关键字、字符串的“驻留性” 原理、深入解析Equals() 原理、枚举类型、自定义集合、深入解析动态集合特性与内部原理、泛型集合、泛型约束、初级委托与事件讲解等。         "进阶篇"是在中级篇的基础之上,进一步研究与讲解关于IO操作、序列化、正则表达式、系统委托(Action、Function、Predicate等)、反射原理与特性、Linq查询表达式、多线程、线程池、任务、Socket套接字编程(Tcp与UDP协议),以及最后使用Unity开发具备实战价值的通讯聊天程序等。   C#“进阶篇”教学详细说明如下: 1: IO操作与序列化       学习文件、目录、二进制文件、文本文件的读取与写入底层原理。学习文件序列化与反序列化技能。 2: 正则表达式       学习正则表达式的强大作用与常用原字符的含义与应用场景。 3: 深入委托与事件       学习Action、Func、Predicate 系统内置委托类型,已经适用场合。学习匿名方法、Lambda表达式。深入解析委托与事件的区别。 4: 反射与特性       学习反射的概念与动态调用的重要应用价值,以及Type、Assembley核心类等,最后讲解“特性”技术。   5: Linq 查询表达式      学习Linq 查询表达式对于“对象集合”(支持IEnumberable 或IEnumberable<T>) 以及SQL数据库、XML文档方面的强大查询功能。       6: 多线程      学习多线程以及线程传参、线程取得返回数值技术,前台与后台线程、线程的同步、线程池、任务等技术。      7: Socket套接字通讯      学习Socket套接字通讯中,Tcp与UPD通讯协议的不同应用场景,以及各自的演示示例,最后用Unity开发一款实用性的聊天通讯工具。 温习提示:             本C# for Unity 使用Virtual Studio2012,以及Unity5.2 进行开发与讲解。(学员使用更高版本,对学习没有任何影响)。      一、热更新系列(技术含量:中高级): A:《lua热更新技术中级篇》 https://edu.csdn.net/course/detail/27087 B:《热更新框架设计之Xlua基础视频课程》 https://edu.csdn.net/course/detail/27110 C:《热更新框架设计之热更流程与热补丁技术》 https://edu.csdn.net/course/detail/27118 D:《热更新框架设计之客户端热更框架(上)》 https://edu.csdn.net/course/detail/27132 E:《热更新框架设计之客户端热更框架(中)》 https://edu.csdn.net/course/detail/27135 F:《热更新框架设计之客户端热更框架(下)》 https://edu.csdn.net/course/detail/27136 二:框架设计系列(技术含量:中级):  A:《游戏UI界面框架设计系列视频课程》 https://edu.csdn.net/course/detail/27142 B:《Unity客户端框架设计PureMVC篇视频课程(上)》 https://edu.csdn.net/course/detail/27172 C:《Unity客户端框架设计PureMVC篇视频课程(下)》 https://edu.csdn.net/course/detail/27173 D:《AssetBundle框架设计_框架篇视频课程》 https://edu.csdn.net/course/detail/27169 三、Unity脚本从入门到精通(技术含量:初级) A:《C# For Unity系列之入门篇》 https://edu.csdn.net/course/detail/4560 B:《C# For Unity系列之基础篇》 https://edu.csdn.net/course/detail/4595 C: 《C# For Unity系列之中级篇》 https://edu.csdn.net/course/detail/24422 D:《C# For Unity系列之进阶篇》 https://edu.csdn.net/course/detail/24465 四、虚拟现实(VR)与增强现实(AR):(技术含量:初级) A:《虚拟现实之汽车仿真模拟系统 》 https://edu.csdn.net/course/detail/26618 五、Unity基础课程系列(技术含量:初级)  A:《台球游戏与FlappyBirds—Unity快速入门系列视频课程(第1部)》   https://edu.csdn.net/course/detail/24643 B:《太空射击与移动端发布技术-Unity快速入门系列视频课程(第2部)》 https://edu.csdn.net/course/detail/24645  C:《Unity ECS(二) 小试牛刀》 https://edu.csdn.net/course/detail/27096 六、Unity ARPG课程(技术含量:初中级): A:《MMOARPG地下守护神_单机版实战视频课程(上部)》 https://edu.csdn.net/course/detail/24965 B:《MMOARPG地下守护神_单机版实战视频课程(中部)》 https://edu.csdn.net/course/detail/24968 C:《MMOARPG地下守护神_单机版实战视频课程(下部)》 https://edu.csdn.net/course/detail/24979

    1334 人正在学习 去看看 刘国柱

最近在做项目时,遇到了js库里调用后台的变量和函数的问题,一开始不知道咋办,google了很多。

1.封装成JavaScript库,其中调用后台C#变量:

     网上有三种基本方法: 
方法一:1、通过页面上隐藏域访问 <input id="xx" type="hidden" runat="server" > 
方法二:1、如后台定义了PUBLIC STRING N;前台js中引用该变量的格式为 ' <%=n% > '或"+ <%=n% >+" 
方法三:1、或者你可以在服务器端变量赋值后在页面注册一段脚本 
" <script language= 'javascript ' >var temp=" + tmp + " </script >" 
tmp是后台变量,然后js中可以直接访问temp获得值。 

  经过测试,方法不起作用;方法三在html中注册一段脚本,测试可行的是:

<script type="text/javascript" language="javascript">        
          var v1= "<%=a%>";
          var v2= "<%=b%>";
          var v3= "<%=c%>";
          var v4= "<%=d%>";
          var v5= "<%=e%>";
    </script>

这样到js脚本中就可以直接调用v1,v2,v3,v4,v5等。

2.封装成JavaScript库,其中调用后台C#中有参函数:

之前网上很多的做法如下:

 function UploadToDB(fName) {
            rst = '<%= UploadToDB("' + fName + '") %>';
            UploadToDB = rst;
        }

fName无法传递到后台,后台获取的值仍然是“+ fName +”。

Web运行过程:
【转】分清楚客户端和服务端,var  value=<% =Ceshi(xValue) %>或者var  value= ’<% =UploadToDB(“‘+xValue+’”) %>‘都是无法将前台值传到后台的里面的代码是在服务端执行的,执行时间是客户端页面加载之前,那时js根本还未执行,所以没有js变量。

对于调用C#函数,网上更多的人推荐使用AJAX,个人觉得能用AJAX解决的,一般方法也是可以的,可能稍微复杂点罢了。对于无参函数,相对简单,网页上有好几种方法:

方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中; 
2、在前台写一个js函数,内容为document.getElementById("btn1").click(); 
3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;

方法二:在html里用 <%=fucntion()% >可以调用前台脚本;

方法三:doPostBack()

方法四:隐式控件;

当有参数传递,甚至有返回值时,就显得比较麻烦了,这里化繁求简,第一种和第四种方法合并,用隐式控件传值【转】:

 HTML中JS如下:

<pre name="code" class="javascript">function upload(fid) {
            var id = document.getElementById("ctl00_ContentPlaceHolder1_Id");
            var btn1 = document.getElementById("ctl00_ContentPlaceHolder1_Btn1");
             id.value = fid;
             btn1.click();
             return id.value;
        }
     </script>



HTML中需要添加一下:

<asp:HiddenField ID="Id" runat="server" Value="1"/> 
        <div style="display:none;">      
        <asp:Button ID="Btn1" Width="0" runat="server" Text="" OnClick="UploadToDB" />       
        </div>  
后台C#UploadToDB函数:

<span style="font-size:18px;">//public int UploadToDB(string fId)
 public void UploadToDB(object sender, EventArgs e)
    {
        int rst = 0;
        string fId =this.Id.Value; //隐式控件传递值
//return rst;
this.Id.Value =rst;
}</span>


js脚本中就可以直接调用C#中的变量或者有参函数:

webObj.HttpAddPostString("id", v1);
alert(getGoodsList(returnValue));


总结:以上只是鄙人初识asp.net的见解,还请大牛多多指导,检查提出意见。( ⊙ o ⊙ )!,勇士夺得西部冠军了(10,1-3逆转)。

2016-03-03 12:27:00 weixin_33671935 阅读数 70
  • C# For Unity系列之进阶篇

    整体介绍:       本进阶篇面向的学员不再是完全的编程“小白”,而是具备一定C#编程经验,需要进一步查漏补缺、或者需要进一步全面完善自己C#编程知识体系的广大Unity学员。相信通过本进阶篇的学习,可以使得Unity初中级开发人员对于编程语言的掌握更进一步;对于开发中大型游戏项目,在编程语言这一层级进一步打下坚实的语言基础。 “中级/进阶篇”讲解特点与内容:          本“中级”与“进阶”篇, 是面向初中级游戏研发人员,以及Unity中高级学习者。为了更加深入的刨析各个语法的本质,我们采用反编译解读IL中间语言的方式,来解构语法重点与难点。 中级篇内容主要讲解: .Net 框架、里氏替换原则(LSP)、类的属性极其本质特性、IS ,AS 关键字、字符串的“驻留性” 原理、深入解析Equals() 原理、枚举类型、自定义集合、深入解析动态集合特性与内部原理、泛型集合、泛型约束、初级委托与事件讲解等。         "进阶篇"是在中级篇的基础之上,进一步研究与讲解关于IO操作、序列化、正则表达式、系统委托(Action、Function、Predicate等)、反射原理与特性、Linq查询表达式、多线程、线程池、任务、Socket套接字编程(Tcp与UDP协议),以及最后使用Unity开发具备实战价值的通讯聊天程序等。   C#“进阶篇”教学详细说明如下: 1: IO操作与序列化       学习文件、目录、二进制文件、文本文件的读取与写入底层原理。学习文件序列化与反序列化技能。 2: 正则表达式       学习正则表达式的强大作用与常用原字符的含义与应用场景。 3: 深入委托与事件       学习Action、Func、Predicate 系统内置委托类型,已经适用场合。学习匿名方法、Lambda表达式。深入解析委托与事件的区别。 4: 反射与特性       学习反射的概念与动态调用的重要应用价值,以及Type、Assembley核心类等,最后讲解“特性”技术。   5: Linq 查询表达式      学习Linq 查询表达式对于“对象集合”(支持IEnumberable 或IEnumberable<T>) 以及SQL数据库、XML文档方面的强大查询功能。       6: 多线程      学习多线程以及线程传参、线程取得返回数值技术,前台与后台线程、线程的同步、线程池、任务等技术。      7: Socket套接字通讯      学习Socket套接字通讯中,Tcp与UPD通讯协议的不同应用场景,以及各自的演示示例,最后用Unity开发一款实用性的聊天通讯工具。 温习提示:             本C# for Unity 使用Virtual Studio2012,以及Unity5.2 进行开发与讲解。(学员使用更高版本,对学习没有任何影响)。      一、热更新系列(技术含量:中高级): A:《lua热更新技术中级篇》 https://edu.csdn.net/course/detail/27087 B:《热更新框架设计之Xlua基础视频课程》 https://edu.csdn.net/course/detail/27110 C:《热更新框架设计之热更流程与热补丁技术》 https://edu.csdn.net/course/detail/27118 D:《热更新框架设计之客户端热更框架(上)》 https://edu.csdn.net/course/detail/27132 E:《热更新框架设计之客户端热更框架(中)》 https://edu.csdn.net/course/detail/27135 F:《热更新框架设计之客户端热更框架(下)》 https://edu.csdn.net/course/detail/27136 二:框架设计系列(技术含量:中级):  A:《游戏UI界面框架设计系列视频课程》 https://edu.csdn.net/course/detail/27142 B:《Unity客户端框架设计PureMVC篇视频课程(上)》 https://edu.csdn.net/course/detail/27172 C:《Unity客户端框架设计PureMVC篇视频课程(下)》 https://edu.csdn.net/course/detail/27173 D:《AssetBundle框架设计_框架篇视频课程》 https://edu.csdn.net/course/detail/27169 三、Unity脚本从入门到精通(技术含量:初级) A:《C# For Unity系列之入门篇》 https://edu.csdn.net/course/detail/4560 B:《C# For Unity系列之基础篇》 https://edu.csdn.net/course/detail/4595 C: 《C# For Unity系列之中级篇》 https://edu.csdn.net/course/detail/24422 D:《C# For Unity系列之进阶篇》 https://edu.csdn.net/course/detail/24465 四、虚拟现实(VR)与增强现实(AR):(技术含量:初级) A:《虚拟现实之汽车仿真模拟系统 》 https://edu.csdn.net/course/detail/26618 五、Unity基础课程系列(技术含量:初级)  A:《台球游戏与FlappyBirds—Unity快速入门系列视频课程(第1部)》   https://edu.csdn.net/course/detail/24643 B:《太空射击与移动端发布技术-Unity快速入门系列视频课程(第2部)》 https://edu.csdn.net/course/detail/24645  C:《Unity ECS(二) 小试牛刀》 https://edu.csdn.net/course/detail/27096 六、Unity ARPG课程(技术含量:初中级): A:《MMOARPG地下守护神_单机版实战视频课程(上部)》 https://edu.csdn.net/course/detail/24965 B:《MMOARPG地下守护神_单机版实战视频课程(中部)》 https://edu.csdn.net/course/detail/24968 C:《MMOARPG地下守护神_单机版实战视频课程(下部)》 https://edu.csdn.net/course/detail/24979

    1334 人正在学习 去看看 刘国柱

server端代码:


ChromiumWebBrowser wb;

wb.AddGlobalJSFunction("CfxHelloWorld").Execute += CfxHelloWorld_Execute;


void CfxHelloWorld_Execute(object sender, CfrV8HandlerExecuteEventArgs e)
        {
            MessageBox.Show("调用成功!");
        }



JS调用代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
	<head>
		<title></title>
	</head>
	<body>
    <button onclick="CfxHelloWorld()">点击调用C#</button>
	</body>
</html>


没有更多推荐了,返回首页