.net嵌入c#代码(投票练习)

 

 

按 Ctrl+C 复制代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <style type="text/css"> * { margin:0px; padding:0px; } </style> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="lblTitle" runat="server"></asp:Label> <br /> <br /> <div id="vote"> <asp:CheckBoxList ID="CheckBoxList1" runat="server"> </asp:CheckBoxList> <br /> <br /> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="提交" /> &nbsp <input type="button" value="查看结果" οnclick="xianshi()" /> </div> <div id="result" style="display:none"> <ul style="list-style:none; margin-left:20px;"> <% TestDataContext context = new TestDataContext(); var query = context.DiaoYanXuanXiang.Where(p=>p.TiMuDaiHao == 1).ToList(); int sum = query.Sum(p => p.Numbers).Value; foreach (DiaoYanXuanXiang data in query) { int ps = data.Numbers.Value; double bfb = ((ps * 1.0) / sum) * 100; double width = bfb * 2; %> <li style="width:600px; height:20px; margin-top:10px;"> <div style="width:150px; height:20px; float:left"><%=data.Options %></div> <div style="width:200px; height:20px; float:left"> <div style="width:<%=width%>px; height:20px; background-color:red"></div> </div> <div style ="width:20px; height:20px; float:left"><%=ps %></div> <div style="width:80px; height:20px; float:left">(<%=bfb %>%)</div> </li> <% } %> </ul> <input type="button" value="返回" οnclick="fanhui()" /> </div> </div> </form> <script type="text/javascript"> function fanhui() { document.getElementById("vote").style.display = "block"; document.getElementById("result").style.display = "none"; } function xianshi() { document.getElementById("vote").style.display = "none"; document.getElementById("result").style.display = "block"; } </script> </body> </html>
按 Ctrl+C 复制代码

 

 

aspx.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 _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { TestDataContext context = new TestDataContext(); //查询题目 var query = context.DiaoYanTiMu.Where(p=>p.Ids==1); //显示题目名称 lblTitle.Text = query.First().Title; //显示题目选项 CheckBoxList1.DataSource = context.DiaoYanXuanXiang.Where(p=>p.TiMuDaiHao == query.First().Ids); CheckBoxList1.DataTextField = "Options"; CheckBoxList1.DataValueField = "Ids"; CheckBoxList1.DataBind(); } } protected void Button1_Click(object sender, EventArgs e) { //取投票的项,将票数更改 TestDataContext context = new TestDataContext(); foreach (ListItem ck in CheckBoxList1.Items) { if (ck.Selected) { var query = context.DiaoYanXuanXiang.Where(p=>p.Ids == Convert.ToInt32( ck.Value)); query.First().Numbers += 1; context.SubmitChanges(); } } } }
复制代码

二.使用< 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页首行使用的<%@ 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”。

 

 
 
分类: webform

转载于:https://www.cnblogs.com/dcdgmjzhal/p/4887951.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值