2013-04-24 64 views
0

下面的代码抛出误差 没有重载“FmtClr”匹配委托“System.EventHandler”没有重载“FmtClr”匹配委托“System.EventHandler”

即使这样,处理程序的参数传递

isit问题与我添加scipt的位置。

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup=  
CodeBehind="Default.aspx.cs" Inherits="TestCertification._Default" %> 

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"> 
<script runat="server">  
    public void FmtClr(object sender, ListViewItemEventArgs e) 
    { 
     Label LineTotal = (Label) 
     e.Item.FindControl("LineTotalLabel"); 
     if (LineTotal.Text.Length > 7) 
     { LineTotal.ForeColor = System.Drawing.Color.Red; } 
     else 
     { LineTotal.ForeColor = System.Drawing.Color.Black; } 
    } 
    </script> 
</asp:Content> 
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
<asp:SqlDataSource ID="SqlDataSource1" runat="server" OnDataBinding="FmtClr" 
ConnectionString="<%$ ConnectionStrings:FXVanilla50ConnectionString %>" 
SelectCommand="SELECT top 2 [AddressId], [City], [State], [PostalCode], [Country] FROM  [Addresses]">  
</asp:SqlDataSource> 

<asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource1"> 
    <ItemTemplate> 
    <td> 
    <asp:Label ID="LineTotalLabel" runat="server" Text='<%# Eval("City") %>' /> 
</td> 
</ItemTemplate> 
</asp:ListView> 
</asp:Content> 
+0

您好。您的'FmtClr'方法不必在 OnItemDataBound ..上调用。 – 2013-04-24 11:32:35

回答

0

MSDN,SqlDataSource的的数据绑定事件处理程序的签名是objectEventArgs但你指定ListViewItemEventArgs代替。将您的签名更改为:

public void FmtClr(object sender, EventArgs e) 
    { 
     //.... 
    }