ASP.NET中在HTML中嵌入C#代码的方法

转载 2013年12月05日 09:31:36

一.使用<% %>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>标记有两个特殊的属性:Language和Runat=”Server”。

1>     Language:该属性用于指定 <Script></ Script >之间代码所使用的编程语言,默认为Visual Basic.NET。另外,这里指定的语言必须与ASPX页首行使用的<%@ PageLanguage=""%>一致,否则编译错误,这表明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”。

aspx页面添加引用代码

 @Import Namespace="DTcms.Model.hhhh" %>
  • beautifulsarah
  • beautifulsarah
  • 2016年12月28日 14:38
  • 524

ASP.NET中在后台用C#,往前台插入HTML代码

比如我有个tempString,里面存放了一些HTML代码,比如一个Panel以及其中所包含的一些控件。 我想在前台某个事件触发后,在后台调用一个方法往前台的某个位置(比如一个div(id="temp...
  • nieweiking
  • nieweiking
  • 2013年06月27日 17:27
  • 16852

ASP.NET 网页中的嵌入式代码块 <% %> 与<%= %>

是嵌入代码块 ,而是嵌入表达式 我们都知道,Response.Write 方法能将信息写入HTTP输出内容数据流,而嵌入表达式可以作为调用Response.Write方法的快捷方式。 比如: 和的...
  • maji_lulu
  • maji_lulu
  • 2012年07月13日 15:08
  • 2755

iframe中动态添加html内容

function CheckVersion(obj, sec) {             jbxxsec = sec;             $("#txt_XMBH").val(obj.in...
  • wangqiuchen_Study
  • wangqiuchen_Study
  • 2014年08月26日 17:08
  • 2713

C#和JavaScript交互(asp.net前台和后台互调)

C#代码与javaScript函数的相互调用: 1.如何在JavaScript访问C#函数? 2.如何在JavaScript访问C#变量? 3.如何在C#中访问JavaScript的...
  • u014180504
  • u014180504
  • 2017年04月26日 08:49
  • 1254

如何生成嵌入网页直播的HTML代码

当今的直播业务发展日新月异的大环境下,若企业、机构、政府、学校官方网站甚至是个人的网站主页,要是没有个直播版块或视频点播版块,应该都不好意思说是官网吧。 难为了管理网站的技术人员,购买第三方的直播点播...
  • sinat_38810755
  • sinat_38810755
  • 2017年05月16日 16:34
  • 4307

ASP.NET动态增加HTML元素

asp.net中动态增加html元素,在使用asp.net进行web开发的时候页面中的中的信息可以通过asp.net的cs文件动态指定。 1、动态增加样式表 /*动态增加样式表*/ Htm...
  • pan_junbiao
  • pan_junbiao
  • 2012年12月01日 10:37
  • 2876

ASP.NET中如何在页面前端书写C#代码?

在ASP.NET中页面前端代码中,通常是HTML语言在呈现。很多时候,光有超文本语言是远远不够的,举个例子,假如您需要动态地从数据库中读取链接,那么链接数目、内容都会不一样,如果光是依靠HTML进行操...
  • u010276845
  • u010276845
  • 2014年02月15日 10:35
  • 2944

如何将一个HTML页面嵌套在另一个页面中

这个在做网页中常要用到,有些通用的内容可集中放在一个页面文件中,其它要用到这些内容的页面只需要包含(引用)这个通用文件即可。这样便于维护,如果有很多网页,当通用内容需要修改时,只改一个文件就可以了,不...
  • u014395524
  • u014395524
  • 2015年09月06日 16:59
  • 7269

ASP.NET中在HTML中嵌入C#代码的方法

一.使用在HTML中嵌入C#代码 打开ASPX页面Default.aspx,首先在 之间添加标题“使用%HTML中嵌入C#“,再在其中的 标签中间输入以下代码: title>使用%HTML...
  • gscaiyucheng
  • gscaiyucheng
  • 2013年12月05日 09:31
  • 7226
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET中在HTML中嵌入C#代码的方法
举报原因:
原因补充:

(最多只允许输入30个字)