• ASP.NET Doorstep之 在HTML中嵌入C#代码(非原创,转载)


    一.使用<% %>HTML中嵌入C#代码

    打开ASPX页面Default.aspx,首先在<title> </title>之间添加标题“使用%HTML中嵌入C#“,再在其中的<div> </div>标签中间输入以下代码:

    <title>使用%HTML中嵌入C#</title>

    <div>

    <%

                int i;

                for (i = 0; i < 10; i++)

                {

                    Response.Write(i.ToString());

                    Response.Write("在html中嵌入C#代码示例");

                    Response.Write("<br />");                 

                }

                 %>      

        </div>

    用户浏览这个页面时,ASP.NET模块将运行其中的<% %>之间的C#代码块,生成HTML。我们可以通过点击IE-〉查看-〉源文件,看到这个页面在客户端的纯HTML代码,而看不到开发者所写的<% %>之间的C#代码。运行结果如下:


    二.使用< Script ></ Script >HTML中嵌入C#代码  

     首先我们来看一看在HTML页面中嵌入JavaScript脚本程序的格式: 

    <SCRIPT LANGUAGE="JavaScript">

    "JavaScript代码内容"
    //JavaScript
    注释内容

    </SCRIPT>
       
    为了通知浏览器使用的代码是JavaScript代码,必须在<SCRIPT>标记中加入LANGUAGE"JavaScript"属性。JavaScript代码一般以下面的形式包括在HTML代码中:其中,<script>标记是声明这是一个脚本程序,LANGUAGE是声明该脚本是一个Javascript 脚本。在<script></script>中间的任何内容都被视为脚本语句,会被浏览器解释执行。

       我们用记事本编写一个HTML文件JavaScriptEx.html,代码如下:

    <HTML>

    <HEAD>

    <TITLE>响应事件</TITLE>

    </HEAD>

    <BODY>

    <SCRIPT LANGUAGE="JavaScript">

    function aler(){

    window.alert("这是JavaScript事件响应的例子");

    }

     

    </SCRIPT>

    <INPUT TYPE="BUTTON" VALUE="触发按钮" ONCLICK="aler()">

    </BODY>

    </HTML>

       保存后直接点击生成的.html文件即可在IE浏览器中运行,单击“触发按钮”后将弹出对话框,结果如下:

     而对于同ASP.NET,除了<% %>标记,也可以使用<Script></ Script >标记用于在HTML中标记指令代码。对于ASP.NET<Script>标记有两个特殊的属性:LanguageRunat=”Server”

    1>     Language:该属性用于指定 <Script></ Script >之间代码所使用的编程语言,默认为Visual Basic.NET。另外,这里指定的语言必须与ASPX页首行使用的<%@ Page Language="…"%>一致,否则编译错误,这表明ASP.NET虽然支持多种编程语言,但在同一页面上只能使用一种语言。

    2>     Runat=”Server”属性用于指定代码运行的位置是在服务器端。<Script></ Script >常常用于定义各种变量和函数,完成一定的功能。下面的示例是使用<Script></ Script >标记结合<% %>,根据当前日期输出不同的语句。

     

    创建一个新的ASP.NET Web应用程序,打开ASPX页面Default.aspx,首先在<title> </title>之间添加标题“使用Script和%在HTML中嵌入C#“,在其中的<div> </div>标签中间输入以下代码:

    <title>使用Script和%在HTML中嵌入C#</title>

       <div>

        <!--这是HTML注释方式-->

        <%--

        <script>和</script>实现一个函数fun1,该函数根据当前星期,返回不同的日程安排。

        这是ASP.NET的注释方式

        --%>

        <script language="C#" runat="server">

        String fun1(string day)

        {

            string plan = "";/*C,C++,C#注释方式*/

            switch (day)

            {

                case "Monday":

                    plan = "向客户提案!";

                    break;

                case "Thuseday":

                    plan = "参加霏霏的生日!";

                    break;

                case "Wednesday":

                    plan = "shopping!";

                    break;

                case "Thursday":

                    plan = "去健身房!";

                    break;

                case "Friday":

                    plan = "向老板汇报工作!";

                    break;

                default:

                    plan = "周末狂欢!";

                    break;               

            }

            return plan;   

        }

        </script>

        <%--

        <% %>调用函数fun1,根据当前星期,显示日程安排。

        --%>

        <%

            string date = System.DateTime.Today.Date.ToString();

            string weekday = System.DateTime.Today.DayOfWeek.ToString();

            string output = fun1(weekday);//C,C++,C#注释方式

            Response.Write("现在是"+date+","+weekday+",我计划"+output);       

             %>    </div>

    运行结果如下:

     

    利用以上两种方法可以将C#代码嵌入到HTML中,形成ASPX动态网页文件,但是这样的页面语法混杂,难以管理,针对这个问题,ASP.NET提出了代码分离的思想:即把代码文件(C#代码)和页面显示代码(HTML代码)分离在不同的文档中,各自独立完成Web页面的逻辑功能和显示功能。然后通过<%@ CodeFile=…%>将两者绑定在一起,以达到C#代码嵌入到HTML中的效果。

    Default.aspx的第一行解析:

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

    <%@ Page …%>用来设置页面属性,各属性意义如下:

    CodeFile="Default.aspx.cs"这个属性指定了隐藏在这个页面后面的代码文件,所要实现的功能代码就在Default.aspx.cs文件中。

    Language="C#|VB"设置本页所采用的编程语言是C#,默认为C#

    AutoEventWireup="true|false"是否使用ASP.NET约定的事件命名规则,为控件事件命名。

    Inherits="…"定义公应用程序类继承的代码隐藏类

    ResponseEdcodeing="…"设置ASPX编码方式,默认为Unicode

    Trace="true|false"设置是否在程序中显示代码直行的跟踪信息。

    TraceMode="SortType"设置跟踪信息的排序方式,默认为根据执行时间顺序排序,“SortByTime”。

  • 相关阅读:
    vue :调用子组件 ,watch props 时,监听不到
    table 》 td 超出内容过长显示...
    kendo 服务端排序
    Highcharts的基本属性和方法详解
    使用vue element table 自定义列模版
    vue 结合JQ ajax 作用域会改变
    实用的javascript 简写--读后感~
    【iOS】iOS13新增的暗黑模式(Dark Mode)
    【iOS】iOS13后新增的Scene Delegate和不使用工程自带的Main.storyboard
    【iOS】检测项目中是否包含UIWebView
  • 原文地址:https://www.cnblogs.com/poleices/p/1995677.html
Copyright © 2020-2023  润新知