问题来源

        在学习ASP的过程中,遇到一个问题,有一个按钮,没有像HTML一样给它设置事件,也没有写函数,但是点击它还是会有别的操作。比如下面这个:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="001IsPostBack属性.aspx.cs" Inherits="WebDesign._001IsPostBack属性" %>

<!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>这是测试page对象的IsPostBack属性的示例程序</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="pageMessage" runat="server" Text="Label"></asp:Label>
<br />
<br />
<asp:Button ID="PageButton" runat="server" Text="回传" />

</div>
</form>
</body>
</html>

        但是我注意到,在Button那有一个属性runat,难道是这个小兔崽子搞的鬼吗?然后就把它单独注释了,然后报错了:

        【第一处报错】

        第一处报错是在代码中报错,显示如下错误。

关于runat = “server”_runat

        【第二处报错】

         第二处报错是在运行中报错,显示如下错误。

关于runat = “server”_server_02

是它,是它,就是它,我们的小错误,runat。

那它到底是个什么鬼?

runat介绍

        runat不是鬼,顾名思义runat就是 在。。。运行  的意思。runat =“server”的意思就是在服务器中运行。运行编译aspx文件时,无runat =“server”属性的标签直接写入Response;有runat =“server”属性的标签,将被转换为HtmlContrl控件加入到ASP.NET自带的控件集合中。

        而我的源代码中,Button是一个asp 的控件,所以它必须要有这个属性。

        总有一些人,想些有的没的(比如说我),如果我就是不想用这个控件,我还希望页面能展示出来,咋办?

        好说,我们可以用HTML控件啊,用HTML是可以直接用button的,但是大家要注意一点,HTML中必须为小写,而且没有Text属性。相关代码如下:

<button id ="button " >回传</button>