C#Evealのaspxページでの使い方と役割
9528 ワード
Eval( " ") Bind( " ") , ,bind ,
ASP.NET 2.0 , v1.x DataBinder.Eval(Container.DataItem, fieldname) Eval(fieldname)。Eval DataBinder.Eval 。 Eval DataBinder.Eval ,Eval ( DataListItem) DataItem , DataBinder.Eval 。 ,Eval , Page( ) 。 ,ASP.NET 2.0 DataBinder.Eval, Eval 。
Eval DataList (ItemTemplate) Image、Label HyperLink 。
Codeasp:DataList ID="DataList1 " RepeatColumns="5 " Width="600 " runat="server " DataSourceID="ObjectDataSource1 ">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1 " runat="server " NavigateUrl='<%# Eval( "PhotoID ", "PhotoFormViewPlain.aspx?ID={0} ")%>'>
<asp:Image ID= "Image1 " Runat= "server " ImageUrl= <%# Eval( "FileName ", "images/thumbs/{0} ")%>/></asp:HyperLink>
<asp:Label ID="CaptionLabel " runat="server " Text='<%# Eval( "Caption ") %>' />
</ItemTemplate>
</asp:DataList><br />
<asp:ObjectDataSource ID="ObjectDataSource1 " runat="server " TypeName="DataComponentTableAdapters.PhotosTableAdapter "
SelectMethod="GetPhotosForAlbum ">
(theme definition) , 。 Theme( ) Eval( Bind)。 。
1.DataBinder.Eval
//
<%# DataBinder.Eval(Container.DataItem, "UnitPrice", "${0:F2}") %>
//{0:G} True False
CodeItemTemplate>
<asp:Image Width="12" Height="12" Border="0" runat="server"
AlternateText='<%# DataBinder.Eval(Container.DataItem,
"Discontinued", "{0:G}") %>'
ImageUrl='<%# DataBinder.Eval(Container.DataItem,
"Discontinued", "~/images/{0:G}.gif") %>' />
</ItemTemplate>
//
((string)DataBinder.Eval(Container, "DataItem.P_SHIP_TIME_SBM8")).Substring(4,4)
{0:d}
{0:yyyy-mm-dd}
{0:c}
2.Container.DataItem .
:<%# DataBinder.Eval
(Container.DataItem,"xxxx")%> <%# DataBinder.Eval
(Container,"DataItem.xxxx")%>
, 。
<%# ((DataRowView)Container.DataItem)["xxxx"]%>
, 。
System.Data, 。
<%@ Import namespace="System.Data" %>
<%# ((DictionaryEntry)Container.DataItem).Key%> 。
Container , System.ComponentModel。
3.DataBinder.Eval Container.DataItem
DataBinder.Eval(Container.DataItem,"Name") Container.DataItem("Name") ?
DataBinder System.Web , Eval , Reflection , 。 Container , ASP.NET , ( Repeater RepeaterItem), DataItem , Container.DataItem, 。 DataTable, DataRowView。
:http://www.cnblogs.com/yangjunwl/articles/1120560.html
<%# %> 。 :
<tagprefix:tagname property='<%# data-binding expression %>' runat="server" />
:
<%# data-binding expression %>
ASP.NET , Eval Bind , 。
Eval ( ) , Eval ( ) , 。
Bind / , Bind ( ) 。 。
XPath XML 。
?
, html / 。 :
<asp:TextBox ID="TextBox1" runat="server" Text='<%# %>' ></asp:TextBox><br />
: , C# VB.NET , , C# VB.NET 。 , "hello"。
Eval(" ") , TextBox1 , :Eval()、XPath() Bind() 。 TextBox1 Repeater,DataList,GridView 。
, 。 :
<form id="form1" runat="server">
<div>
<%#Eval(" 1")%>
<%#Eval(" 2")%>
</div>
</form>
" " 。
Eval(" ") , <%#Eval(" 1")%> <%#Eval(" 2")%> Repeater,DataList,GridView 。
, Javascript , Javascript C# VB.NET 。 :
Deafult2.aspx:@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title> </title>
<script language ="javascript" type="text/javascript">
function GetStr()
{
var a;
a = '';
a='<%#CSharpToJavascript()%>' // c#
alert(a);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="Button1" type="button" value="Javascript c# !" onclick="GetStr()" /</div>
</form>
</body>
</html>
Default2.cs: System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Page.DataBind();// , Javascript c# !
}
public string CSharpToJavascript()
{
return "Javascript c# !";
}
}
?
1,
:<asp:Label ID="Label1" runat="server" Text="<%# %>"></asp:Label>
2,
: <asp:Label ID="Label1" runat="server" Text="<%#TextBox2.Text %>"></asp:Label>
3,
, ListBox , Repeater,DataList,GridView , DataSource='<%# %>' 。
4,
:Person ,Name City 2 , :
<%#(Person.Name + " " + Person.City)%>。
5,
:<%#GetUserName()%>。GetUserName() C# , 。
6, Eval,DateBind.Eval , , 。
: , , <%# %> 。 , <%# %> 。
?
1,<%#DataBind.Eval(Container.DataItem," ")%>
<%#DataBind.Eval(Container.DataItem," ","{0:c}") %>
2 :
<%# DataBinder.Eval(Container,"DataItem. ")%>
<%# DataBinder.Eval(Container,"DataItem. ",{0:c})%>
Container.DataItem , 。
String.Format 。 c ,p ,d ,f ,f3 , 。
?: :
<%# DataBinder.Eval(Container.DataItem, " ").ToString().Trim().Length>16?DataBinder.Eval(Container.DataItem, " ").ToString().Trim().Substring(0,16):DataBinder.Eval(Container.DataItem, " ").ToString().Trim() %>
2,<%#Eval(" ")%>
<%#Eval(" ","{0:c}")%>
.NET 2.0 。 DataBind.Eval() 。
String.Format 。 c ,p ,d ,f ,f3 , 。
:
<%#(Eval(" ")).ToString() =="True"?" ":" "%>
: / (Access),bit(sql server)
:
<%# GetUserPhoto(Eval("PhotoPath")) %>
GetUserPhoto() :
string GetUserPhoto(object photoPath)
{
if (photoPath == DBNull.Value)<%#((DataRowView)Container.DataItem)[" "] %>
{
return "<img src='Images/none.gif'>";
}
else
{
return "<img src='Upload/" +photoPath.ToString() + "'>";
}
}
3, <%#((DataRowView)Container.DataItem)[" "] %>
<%# string.Format("{0:c}", ((DataRowView)Container.DataItem)[" "])%>
String.Format 。 c ,p ,d ,f ,f3 , 。
:<%# (int)((DataRowView)Container.DataItem)[" 1"]*(int) ((DataRowView)Container.DataItem)[" 2"]%> 2 。
:Eval DataBinder.Eval ,DataBinder.Eval , 。 。 <%#((DataRowView)Container.DataItem) [" "] %> 。