½ÒÃØASP.NET 2.0µÄEval·½·¨
À´Ô´£ºhttp://www.pccode.net/info/2010/01/25/20100125-1220.html
ʵ¼ÊÉÏEval·½·¨ÊÇTemplateControlµÄ£¬¶øSystem.Web.UI.PageºÍSystem.Web.UI.UserControl¶¼¼Ì³ÐÓÚTemplateControl£¬ËùÒÔÎÒÃÇ¿ÉÒÔÔÚPageºÍUserControlÉÏÖ±½Óµ÷Óøö·½·¨¡£
Page.Eval·½·¨¿ÉÒÔ°ïÖúÎÒÃǸüºÃµÄ׫дÊý¾Ý°ó¶¨±í´ïʽ£¬ÔÚASP.NET 1.xʱ´ú£¬Êý¾Ý°ó¶¨±í´ïʽµÄÒ»°ãÐÎʽÊÇ£º
<%# DataBinder.Eval(Container,“DataItem.Name”) %>
¶øÔÚASP.NET 2.0ÖУ¬Í¬ÑùµÄ´úÂ룬ÎÒÃÇ¿ÉÒÔÕâÑùд£º
<%# Eval(“Name”)%>
ASP.NET 2.0ÊÇÔõôʵÏÖµÄÄØ£¿ÎÒÃÇÏÈ´ÓEval·½·¨À´Ñо¿£¬Í¨¹ý·´Éä.NET fromwork 2.0Àà¿âµÄÔ´´úÂ룬ÎÒÃÇ¿ÉÒÔ¿´µ½Õâ¸ö·½·¨ÊÇÕâÑùʵÏֵģº
protected internal object Eval(string expression)
{
this.CheckPageExists();
return DataBinder.Eval(this.Page.GetDataItem(), expression);
}
µÚÒ»ÐÐÎÒÃDz»±Ø¹Ü£¬ÕâÊǼì²éµ÷ÓõÄʱºòÓÐûÓÐPage¶ÔÏóµÄ£¬Èç¹ûûÓÐÔò»áÅ׳öÒ»¸öÒì³£¡£ ¹Ø¼üÊǵڶþÐУº
return DataBinder.Eval(this.Page.GetDataItem(), expression);
Page.GetDataItem()Ò²ÊÇ2.0ÖÐÐÂÔöµÄÒ»¸ö·½·¨£¬ÓÃ;ÊÇÕýÊÇÈ¡´úASP.NET 1.xÖеÄContainer.DataItem¡£
¿´À´²»ÃþÇå³þGetDataItem()·½·¨£¬ÎÒÃÇÒ²ºÜÄÑÃ÷°×EvalµÄÔÀí¡£GetDataItemµÄʵÏÖÒ²ºÜ¼òµ¥£º
public object GetDataItem()
{
if ((this._dataBindingContext == null) || (this._dataBindingContext.Count == 0))
{
&nbs
Ïà¹ØÎĵµ£º
ÉÏ´Î×öÁ˸öÏîÄ¿£¬Éæ¼°µ½Êý¾Ý¿âµÄ»¹ÔºÍ»Ö¸´£¬µ½ÍøÉÏÕÒÁËһϣ¬ÊÇÀûÓÃSQLDMOʵÏֵģ¬Ö»ÒªÌí¼ÓSQLDMOÒýÓþͺÃÁË£¬È»ºóÀûÓÃϱߵÄÀàµÄ·½·¨¾Í¿ÉÒÔʵÏÖÁË¡£
ÎÒ°ÑÔ×÷ÕßµÄÀàÀ©³äÁËһϣ¬¿ÉÒÔ×Ô¶¯Ê¶±ðweb.configÀï µÄÊý¾Ý¿âÁ¬½Ó×Ö·û´®£¬¿ÉÒÔͨ¹ý±äÁ¿ÉèÖû¹Ô»Ö¸´µÄÐÅÏ¢¡£
ÐèҪעÒâµÄʱ»¹Ô£¬»¹ÔµÄʱºòÎÊÌ ......
¶ÔWebÓ¦ÓóÌÐòÀ´Ëµ£¬·¢Éú²»¿ÉÔ¤ÖªµÄ´íÎóºÍÒì³£ÔÚËùÄÑÃ⣬ÎÒÃDZØÐëΪWeb³ÌÐòÌṩ´íÎó´¦Àí»úÖÆ¡£µ±´íÎó·¢Éúʱ£¬ÎÒÃDZØÐë×öºÃÁ½¼þÊÂÇ飺һÊǽ«´íÎóÐÅÏ¢¼Ç¼ÈÕÖ¾£¬·¢ÓʼþÍ¨ÖªÍøÕ¾Î¬»¤ÈËÔ±£¬·½±ã¼¼ÊõÈËÔ±¶Ô´íÎó½øÐиú×Ù´¦Àí£»
¶þÊÇÒÔÓѺõķ½Ê½Ìáʾ×îÖÕÓû§Ò³Ãæ·¢ÉúÁË´íÎ󣬶ø²»Äܽ«Î´´¦ÀíµÄ´íÎóÐÅÏ¢ÏÔʾ¸øÓû§¡£
&nbs ......
<%@ Page Language="C#" %>
<%@ import Namespace="System.Collections" %>
<script runat="server">
void Page_Load(Object sender, EventArgs e) {
if(!Page.IsPostBack){
ArrayList data = new ArrayList();
data.Add(new Person("Tom",33,true));
data.Add(new Person("Jhon",39,false));
da ......
µÚÒ»²½£ºÀýÈçÓû§¿Ø¼þ·ÅÔÚMyList.Ascx£¬È»ºóÆäControlÖ¸ÁîÊÇ£º
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ViewComment.ascx.cs" Inherits="Control_ViewComment"%>
ÕâʱºòÒѾÓÐÁËInherits£¬×Ô´øÁËClassName¾ÍÊÇÆäÃû³Æ£¬Èç¹ûûÓУ¬Ôò±ØÐë´´½¨ClassNameÊôÐÔ¡£
¼ÙÉèÆäÓй«¹²ÊôÐÔID¡£
µÚ¶þ²½£ ......
¹Ø±Õ´°Ìå
1.
this.btnClose.Attributes.Add("onclick", "window.close();return false;");
2.¹Ø±Õ±¾´°Ìå¼äÌø×ªµ½ÁíÒ»¸öÒ³Ãæ
this.HyperLink1.NavigateUrl = "javascript:onclick=window.opener.location.assign
......