当前位置:K88软件开发文章中心编程语言.NET.NET01 → 文章内容

DotNet前台代码绑定后台变量各种方法

减小字体 增大字体 作者:网络     来源:asp编程网  发布时间:2018-12-30 7:42:59

el1确实显示了正确的结果,TextBox属于非嵌套类控件,TextBox如果用这种方式,将会产生编译错误,提示“此上下文中不支持代码块。”

二. <
%
# str %>

ASP.NET 引入了一种新的声明语法 <
%
# %>
。该语法是在 .aspx 页中使用数据绑定的基础,所有数据绑定表达式都必须包含在这些字符中。这里从用法和适用范围等方面与第一种绑定方式进行区分。

从出现的位置来看,除了能出现在第一种代码块出现的所有位置外,他还可以出现在服务器端控件的属性中。

从绑定的变量类型上看,他还可以配合ASP.NET的数据绑定类控件,来绑定上述的第四种“变量”类型,就是数据集合(DropDownList,DataList,DataGrid,ListBox这些是数据绑定类控件,数据集合包括ArrayList(数组),Hashtable(哈稀表,DataView(数据视图),DataReader等)。

从用法上看,在前台代码中除了在相应位置写上<
%
# %>
外,在后台代码中,还需要使用DataBind()方法。以下是实例:

前台代码:

以下为引用的内容:

<
html xmlns="http://www.w3.org/1999/xhtml">

<
head>

 
 
 
<
title>
<
/title>

 
 
 
<
script type="text/javascript">

 
 
 
 
 
 
 
function fun()
{

 
 
 
 
 
 
 
 
 
 
 
var str = '<
%
# DateTime.Now %>
'

 
 
 
 
 
 
 
 
 
 
 
alert(str)

 
 
 
 
 
 
 
}
 
 
 
<
/script>

<
/head>

<
body >

 
 
 
<
form id="form1" runat="server">

 
 
 
<
div>

 
 
 
 
 
 
 
<
input type="text" value="<
%
# GetVariableStr %>
" />
<
br />

 
 
 
 
 
 
 
"<
%
# GetVariableStr %>
"
 
 
 
 
 
 
 
<
asp:Label ID="Label1" runat="server" Text="<
%
# GetVariableStr %>
">
<
/asp:Label>

 
 
 
 
 
 
 
 
 
 
 
<
%--此种方式可以绑定服务器端控件的属性--%>

 
 
 
 
 
 
 
<
asp:DropDownList ID="DropDownList1" runat="server" DataSource='<
%
# arraylist %>
'>

 
 
 
 
 
 
 
 
 
 
 
<
%-- 将集合绑定到数据绑定类控件,通过DataSource属性来实现,从而在下拉框看到集合中的内容--%>

 
 
 
 
 
 
 
<
/asp:DropDownList>

 
 
 
 
 
 
 
<
asp:DataList ID="DataList1" runat="server" DataSource='<
%
# dt %>
'>

 
 
 
 
 
 
 
 
 
 
 
<
%-- 
同上,绑定了DataTable数据集合?--%>

 
 
 
 
 
 
 
 
 
 
 
<
ItemTemplate>

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
<
table border="1" cellpadding="0" cellspacing="0">

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
<
tr>

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
<
td>

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
<
asp:Label ID="Label2" runat="server" Text='<
%
# Bind("row0")%>
'>
<
/asp:Label>

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
<
%--由于绑定的数据集合具有多列,并且此数据绑定类控件支持模板,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
因此需要在模板中指定需要绑定的列以及格式--%>

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
<
/td>

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
<
td>

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
<
%
# Eval("row1")%>

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
<
/td>

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
<
/tr>

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
<
/table>

 
 
 
 
 
 
 
 
 
 
 
<
/ItemTemplate>

 
 
 
 
 
 
 
<
/asp:DataList>

 
 
 
<
/div>

 
 
 
<
/form>

<
/body>

<
/html>

 


可以看出,这种方式在使用时,不但可以实现(取代)<
%=... %>
所满足的功能,还可以绑定服务器控件属性(如上面的Label1),也可以将集合类型绑定到支持的数据绑定类控件。在用法上,前台代码除了对数据绑定类控件绑定数据集合外有所差别,其他的使用上与第一种没区别。在绑定类控件的模板中,如何使用Eval、Bind、DataBinder.Eval等,不在此文讨论中,可以参考下面链接的参考文章。

后台代码:

以下为引用的内容:

public partial class WebForm2 : System.Web.UI.Page

{
 
 
 
public string GetVariableStr

 
 
 
public ArrayList arraylist

 
 
 
public DataTable dt

 
 
 
protected void Page_Load(object sender, EventArgs e)
 
 
 

{
 
 
 
 
 
 
 
if (!IsPostBack)
 
 
 
 
 
 
 

{
 
 
 
 
 
 
 
 
 
 
 
GetVariableStr = "hello world from variable"

 
 
 
 
 
 
 
 
 

上一页  [1] [2] [3] [4]  下一页


DotNet前台代码绑定后台变量各种方法