asp.net 前台绑定后台变量方法总结 (1/4)

asp教程.net 前台绑定后台变量方法总结

经常会碰到在前台代码中要使用(或绑定)后台代码中变量值的问题。一般有<%= str%>和<%# str %>两种方式,这里简单总结一下。如有错误或异议之处,敬请各位指教。
    一方面,这里所讲的前台即通常的.aspx文件,后台指的是与aspx相关联的codebehind,文件后缀名为.aspx.cs;另一方面,这里的绑定是指用户发出访问某一页面指令后,服务器端在执行过程中就已经将前台代码进行了赋值,而后生成html格式回传客户端显示,而并非已经显示到客户端后,然后通过其他方法(如ajax)去服务器端获取相应变量。

备注:上面说的两个文件是常见的代码隐藏(code-behind)模式,还有一种是代码嵌入(code-beside, inline)模式,那就是只存在aspx一个文件,而后台代码则写入此文件的<script type="text/网页特效" runat="server"></script>之中(还有一些语法上区别),这对于本文讨论的问题略有影响,因为代码嵌入是声明性代码与c#/vb.net代码都一起编译到一个类里面,而代码隐藏则将声明性代码与c#/vb.net代码分开几次进行翻译/编译,因此前者是局部与局部(partial)的关系后者基类与派生类的关系,但这仅仅影响所能绑定变量的范围(与修饰符有关),下面会提到。以下均以代码隐藏模式为例。

    一般来说,在前台代码的三种位置可能会用到(绑定)后台变量:

服务器端控件属性或html标签属性
javascript代码中
html显示内容的位置(也就是开始标签与结束标签之间的内容,如<div>这里</div>(html标签)或者<asp:label id="label2" runat="server" text="label">这里</asp:label>(服务器端控件),它作为占位符把变量显示于符号出现的位置)
    对于第一种位置,有一些约束条件:

    (1)一般的属性要求是字符串型或数值型(下面会提到有些服务器端属性支持属性为数据集合);

    (2)并不是所有的属性都可以绑定变量,有些属性例如runat属性必须是"server"常量,即使绑定的字符串是server,也会导致分析器分析时出错;

    (3)有一种属性,他要求属性值有约束(类型约束,比如服务器端控件要求tabindex属性是short类型,或者字符串内容有约束),也应该在绑定时满足,否则依然可能编译时报错;

    (4)还一种属性,虽然属性本身有约束,但即使绑定的变量不满足约束,也可以编译通过,比如input的checked属性,它只有checked字符串是合法的,但如果通过绑定获取到的字符串不是checked,那么这些属性将有自己内部处理机制,来保证可以正常使用;

    (5)还要注意,即使对于同一类属性,服务器端和html的属性的处理机制也不同,同样是tabindex(tabindex),前者如果不满足,则分析器错误,后者则忽略这一问题。

    对于第二种位置,一般只要绑定的后台变量和javascript中数据类型兼容即可。

    对于第三种位置,如果绑定出现的位置不在服务器端控件内部,则没有约束条件,只要是常量字符串可以出现的位置,均可以绑定。但是对于置于服务器端控件内部,也就是上面那种<asp:label id="label2" runat="server" text="label">这里</asp:label>的方式,则有约束条件。通过总结,归纳为四类服务器端控件,如果绑定的代码出现在这些控件的开始和结束标签之间(这里所说的控件,是指如果绑定代码外有多层的嵌套控件包围,则是指包围绑定代码的最内层控件),有不同的显示结果:

  

首页 1 2 3 4 末页

时间: 2024-12-04 16:20:22

asp.net 前台绑定后台变量方法总结 (1/4)的相关文章

一起谈.NET技术,ASP.NET前台代码绑定后台变量方法总结

经常会碰到在前台代码中要使用(或绑定)后台代码中变量值的问题.一般有<%= str%>和<%# str %>两种方式,这里简单总结一下.如有错误或异议之处,敬请各位指教. 一方面,这里所讲的前台即通常的.aspx文件,后台指的是与aspx相关联的CodeBehind,文件后缀名为.aspx.cs:另一方面,这里的绑定是指用户发出访问某一页面指令后,服务器端在执行过程中就已经将前台代码进行了赋值,而后生成html格式回传客户端显示,而并非已经显示到客户端后,然后通过其他方法(如aja

ASP.NET前台代码绑定后台变量方法总结

经常会碰到在前台代码中要使用(或绑定)后台代码中变量值的问题.一般有<%= str%>和<%# str %>两种方式,这里简单总结一下.如有错误或异议之处,敬请各位指教. 一方面,这里所讲的前台即通常的.aspx文件,后台指的是与aspx相关联的CodeBehind,文件后缀名为.aspx.cs:另一方面,这里的绑定是指用户发出访问某一页面指令后,服务器端在执行过程中就已经将前台代码进行了赋值,而后生成html格式回传客户端显示,而并非已经显示到客户端后,然后通过其他方法(如aja

ASP.Net前台调用后台变量的方法_基础应用

Net前台调用后台变量 1.Asp.Net中几种相似的标记符号: < %=...%>< %#... %>< % %>< %@ %>解释及用法 答: < %#... %>: 是在绑定控件DataBind()方法执行时被执行,用于数据绑定 如: < %# Container.DataItem("tit") %> < %= %>: 在程序执行时被调用,可以显示后台变量值 如: *.aspx中: < %=

ASP.NET前台代码绑定后台变量方法

网页特效代码中 html显示内容的位置(也就是开始标签与结束标签之间的内容,如<div>这里</div>(html标签)或者<asp教程:label id="label2" runat="server" text="label">这里</asp:label>(服务器端控件),它作为占位符把变量显示于符号出现的 对于第一种位置,有一些约束条件: (1)一般的属性要求是字符串型或数值型(下面会提到有些服

asp.net 前台调用后台的方法,不会执行,急求,急急急急!!!!!

问题描述 有个后台cs函数protectedstringSave_yhht(stringczfs){stringmess="";if(!czfs.Equals("y"))returnmess;.........} 我前台写了个调用函数</form><scripttype="text/javascript">functionSave_yhht_qt(czfs){varmess='<%=Save_yhht("'

ASP.NET教程:汇总前台代码绑定后台变量的方法

经常会碰到在前台代码中要使用(或绑定)后台代码中变量值的问题.一般有<%= str%>和<%# str %>两种方式,这里简单总结一下.如有错误或异议之处,敬请各位指教. 一方面,这里所讲的前台即通常的.aspx文件,后台指的是与aspx相关联的CodeBehind,文件后缀名为.aspx.cs:另一方面,这里的绑定是指用户发出访问某一页面指令后,服务器端在执行过程中就已经将前台代码进行了赋值,而后生成html格式回传客户端显示,而并非已经显示到客户端后,然后通过其他方法(如aja

asp.net datalist 绑定access数据库方法

asp教程.net datalist 绑定access数据库教程方法 <%@ page language="vb" %> <!doctype html public "-//w3c//dtd xhtml 1.1//en" "http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd"> <script runat="server"> </script>

ASP.NET技巧:前台页面代码绑定后台程序变量

ASP.NET编程经常会碰到在前台页面代码中要使用(或绑定)后台程序中变量值的问题.一般有<%= str%>和<%# str %>两种方式,这里简单总结一下.如有错误或异议之处,敬请各位指教. 一方面,这里所讲的前台即通常的.aspx文件,后台指的是与aspx相关联的CodeBehind,文件后缀名为.aspx.cs:另一方面,这里的绑定是指用户发出访问某一页面指令后,服务器端在执行过程中就已经将前台代码进行了赋值,而后生成html格式回传客户端显示,而并非已经显示到客户端后,然后

asp.net-asp. net 前台调用后台的一个方法,点击按扭时如何调用呢,调用如下方法

问题描述 asp. net 前台调用后台的一个方法,点击按扭时如何调用呢,调用如下方法 void test() { char[] constant = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }; StringBuilder ascii = new StringBuilder(); Random random = new Random(); for (int i = 0; i < 6; i++) { ascii.Append(cons