1、aspx页面中<%:%> ":","=","#"三者之间的区别;
:它会显示出来Html标签
=能过滤掉Html标签
#只用到控件的绑定上
例子:
<%: "<a>:号</a>" %><br />
<%= "<a>=号</a>" %><br />
<%# "<a>#号</a>" %>
运行结果:<a>:号</a>
=号
补充:(1)<% %>和ASP的用法一样,ASP中写的是vbscript或者javascript代码,而ASP.NET中写的是C#代码。
(2)<%# %>ASP.NET下特有的,控件的数据源绑定的用法,但是该控件必须调用它的DataBind();Page.DataBind();这种情况下不管是服务端控件还是客户端控件都可以绑定数据源;
例子:
<asp:TextBox ID="TextBox1" runat="server" Text='<%#text %>'></asp:TextBox> <input id="Text1" type="text" value='<%#text %>' runat="server"/>
protected string text; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.text = "666666666"; //this.TextBox1.DataBind(); this.DataBind(); } }
(3)<%= %>用于输出和:的区别上边有了,但有一个特殊的用法那就是能够获取cs公共方法返回的值;
public string GetLastVideo(){} <%=GetLastVideo()%> 方法必须是公共的或者受保护的;因为aspx页面继承自测试页面;
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm4.aspx.cs" Inherits="WebApplication1.WebForm4" %>
(4)<% $%>主要用于配置文件的键值对进行绑定,通常是连接字符串,必须是服务器端控件的属性上;最有用的地方是在控件的一些硬编码文本处用资源文件的内容来代替;
<asp:TextBox ID="TextBox2" runat="server" Text="<%$ConnectionStrings:ApplicationServices %>"></asp:TextBox>
*ApplicationServices 未连接字符串的名字;
2、InnerHtmL和InnerText的区别:用在div中
<div id="zhong" runat="server"></div>
<div id="guo" runat="server"></div>
zhong.InnerHtml = "<h1>InnerHtml1</h1>";
guo.InnerText = "<h1>InnerText</h1>";
运行结果;
3、服务端控件button 若要想调用Javascript脚本 就用onClientClick事件。
4、aspx页面中的每一个控件无论是服务器端的还是客户端的,都会在designer.cs中生成一个实例变量;
public partial class WebForm4 { /// <summary> /// form1 控件。 /// </summary> /// <remarks> /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// </remarks> protected global::System.Web.UI.HtmlControls.HtmlForm form1; /// <summary> /// CheckBox1 控件。 /// </summary> /// <remarks> /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// </remarks> protected global::System.Web.UI.WebControls.CheckBox CheckBox1;
5、上面的实例变量中:global::命名空间别名限定符,防止名称冲突的,是为了防止自己定义(或项目中引用了别人某处定义了)同名命名空间而出问题,一般情况下不要创建和类库中已有的命名空间重名,若是在大项目中出现了命名空间重名的情况,那么就用命名空间别名限定符(global::)来保证指向根命名空间。