当前位置: 首页 > wzjs >正文

网站建设要花在哪些项目上网站策划书

网站建设要花在哪些项目上,网站策划书,现货黄金什么网站可以做直播,磁县专业做网站版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 本节虽然叫做交互,但是之前的内容已经讲述如何在WebBrowser中调用页面的脚本,本节就不再累述,重…

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。

本节虽然叫做交互,但是之前的内容已经讲述如何在WebBrowser中调用页面的脚本,本节就不再累述,重点讲讲如何通过网页脚本调用窗体的代码。

23.5.1.1 准备工作

本节中需要使用到的htm文件:code23-006-3.htm。

具体代码如下:

<html>

<head>

<meta http-equiv="content-type" content="text/html;charset=utf-8">

<title>这是配合C#教程的网页</title>

<style>

.inputbox {

         width:60px;

         border: 1px solid #6699FF;    

}

</style>

<script language="javascript">

function operation()

{

var args1=document.all("args1").value;

var args2=document.all("args2").value;

var option=document.all("option").value;

window.external.getValue(args1,args2,option);

function operation2()

{

var args1=document.all("args1").value;

var args2=document.all("args2").value;

var option=document.all("option").value;

finalvalues.value=window.external.getValue2(args1,args2,option);

}

</script>

</head>

<body>

<input type="text" name="args1" id="args1" value="" class="inputbox">

<select name="option" id="option">

         <option value="+" checked>+</option>

         <option value="-">-</option>

         <option value="*">*</option>

         <option value="/">/</option>

</select>

<input type="text" name="args2" id="args2" value="" class="inputbox">

=

<input type="text" name="finalvalues" id="finalvalues" value="" class="inputbox">

<br/><br/>

<input type="button" name="submit" id="submit" value="运算1" οnclick="operation()">

<input type="button" name="submit" id="submit" value="运算2" οnclick="operation2()">

</body>

</html>

这个htm页面运行显示如下:

图23-33 测试使用的网页

注意:网页代码脚本operation方法中window.external.方法名称(参数),这是调用窗体提供的方法所必须的。

23.5.1.2 C#中的设置

要实现从网页上调用窗体中的代码,必须完成三项工作:

1、使窗体上的类对网页可见;

2、在WebBrowser控件中打开的网页中的脚本能够访问定义的对象;

3、调用的方法必须确保为公共的。

第一项工作可以使用以下两个方法任选其一:

1、依次打开【项目属性】|【应用程序】|【程序集信息】,勾选中【使程序集COM可见】:

图23-34 设置【使程序集COM可见】

2、直接通过代码方式,通过使用 ComVisibleAttribute 对类进行标记使其成为 COM 可见的类,在Form类前面加上:

[System.Runtime.InteropServices.ComVisibleAttribute(true)]

public partial class Form1 : Form

第二项工作:设置WebBrowser.ObjectForScripting属性,它可由显示在WebBrowser控件中的网页所包含的脚本代码访问。只需要在窗体载入时,添加如下代码:

WebBrowser1.ObjectForScripting = this;

完成以上两项工作,设置要被网页要调用的方法为public就可以了。

23.5.1.3 实现交互

【例 23.25】【项目:code23-015】插入脚本。

    [System.Runtime.InteropServices.ComVisibleAttribute(true)]

    public partial class Form1 : Form

    {

        private void Form1_Load(object sender, EventArgs e)

        {

            WebBrowser1.ObjectForScripting = this;

            WebBrowser1.Navigate("http://localhost/code23-006-3.htm");

        }

        public void getValue1(string args1,string args2,string options )

        {

            int a1, a2;

            a1 = int.Parse(args1);

            a2 = int.Parse(args2);

            double values;

            switch( options)

            {

                case "+":

                    values = a1 + a2;

                    break;

                case "-":

                    values = a1 - a2;

                    break;

                case "*":

                    values = a1 * a2;

                    break;

                default:

                    values = (double)a1 / (double)a2;

                    break;

            }

            HtmlElement element;

            element = WebBrowser1.Document.GetElementById("finalvalues");

            element.SetAttribute("value", values.ToString());

        }

 }

运行结果如下图所示:

图23-35 调用窗体代码的计算结果

以上代码计算出两个数的运算结果,但是并没有向网页返回值,而是直接将值写回网页。如果需要将值返回到网页脚本,那么需要如下操作:

1、将网页代码中:

window.external.getValue(args1,args2,option);

修改为:

finalvalues.value=window.external.getValue(args1,args2,option);

2、将C#中的代码由无返回值修改为返回字符串:

        public string getValue(string args1, string args2, string options)

        {

            int a1, a2;

            a1 = int.Parse(args1);

            a2 = int.Parse(args2);

            double values;

            switch (options)

            {

                case "+":

                    values = a1 + a2;

                    break;

                case "-":

                    values = a1 - a2;

                    break;

                case "*":

                    values = a1 * a2;

                    break;

                default:

                    values = (double)a1 / (double)a2;

                    break;

            }

            return values.ToString();

        }

学习更多vb.net知识,请参看vb.net 教程 目录

学习更多C#知识,请参看C#教程 目录

 

http://www.dtcms.com/wzjs/822193.html

相关文章:

  • 做网站虚拟主机和云服务器吗北京网站优化平台
  • dw做的网站怎么放到服务器上游戏开发工具
  • 合肥做网站123cms韩国唯美网站设计
  • 门户网站建设计入什么科目北京网站优化页面
  • 网站建设导航图图库wordpress后台文章排序
  • 青岛做网站哪家做的好商场设计方案ppt
  • 利川市网站建设江苏常州建设银行网站
  • 武义县网站建设公司网络营销策划与推广
  • 公司网站内容更新怎么做重庆城乡建设部网站首页
  • 做网站网站的推广是不是犯罪的模板网站免费建站
  • 百度新网站提交入口qq中心官方网站
  • wordpress老网站重装法视觉灵动 wordpress
  • 中国十大设计素材网站陕西建设厅官网证件查询网
  • 视频网站做板块栏目wordpress 商城 app
  • 茶叶网站建设费用明细创新的网站建设公司
  • 产品网站别人是如何做优化的服务类网站建设服务公司
  • 清远公司网站建设怎样做网站设计要交税吗
  • 中国seo关键词优化工具求职seo服务
  • 天津国际工程建设监理公司网站网站建设包含内容
  • 广州好的做网站公司要屏蔽一个网站要怎么做
  • 公司网站建设空间办公网新闻上传网站开发
  • 网站建设中最重要的是什么chrome不安全的网站设置
  • 怎么建立视频网站工业app开发平台
  • 内蒙古网站建设费用wordpress 3.1
  • 杭州平台网站建设静态网页是什么意思
  • 下载黑龙江建设网官网网站成年学校培训班
  • 一家做运动鞋的网站js wordpress 菜单管理系统
  • 一台服务做两个网站河南建设信息网一体化
  • 灰色的网站长沙 外贸网站建设
  • 没签合同网站做不好wordpress点击量设置