如何在C#中修复“x是一个变量,但像方法一样使用”语法错误?

时间:2012-08-22 20:37:21

标签: c# syntax

我在gradrid页脚总计上遇到以下错误“'fitem'是'变量',但用''方法'”

protected void RadGrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
    if (e.Item is GridFooterItem)
    {
        GridFooterItem fitem = (e.Item as GridFooterItem);
        string value1 = fitem("CALENDAR_DAYS_MTD").Text;
        string value2 = fitem("WEEKENDS_MTD").Text;
        string value3 = fitem("HOLIDAYS_MTD").Text;
        string value4 = fitem("BUSINESS_DAYS_MTD").Text;
        int footervalue1 = Convert.ToInt32(value1.Split(':')[1]);
        int footervalue2 = Convert.ToInt32(value2.Split(':')[1]);
        int footervalue3 = Convert.ToInt32(value3.Split(':')[1]);
        int footervalue4 = Convert.ToInt32(value4.Split(':')[1]);
        //to get the value only.
        if (footervalue2 + footervalue3 + footervalue4 > footervalue1)
        {
            fitem("WEEKENDS_MTD").Style("color") = "Black";
            fitem("HOLIDAYS_MTD").Style("color") = "Black";
            fitem("BUSINESS_DAYS_MTD").Style("color") = "Black";


        }
        else
        {
            fitem("WEEKENDS_MTD").Style("color") = "Red";
            fitem("HOLIDAYS_MTD").Style("color") = "Red";
            fitem("BUSINESS_DAYS_MTD").Style("color") = "Red";
        }
    }
}

4 个答案:

答案 0 :(得分:5)

你的行

fitem("WEEKENDS_MTD").Style("color") = "Black";

应该是

fitem["WEEKENDS_MTD"].Style["color"] = "Black";

因为[]括号用于访问索引,()括号用于调用方法。

答案 1 :(得分:0)

你有这个:

 GridFooterItem fitem = (e.Item as GridFooterItem);
 string value1 = fitem("CALENDAR_DAYS_MTD").Text;

使用fitem("CALENDAR_DAYS_MTD")可能应为fitem["CALENDAR_DAYS_MTD"]

答案 2 :(得分:0)

我认为你在想VB.NET,它使用括号来索引,但这是C#。它应该是:

fitem["CALENDAR_DAYS_MTD"].Text // Note the square brackets replacing the parens.

fitem("CALENDAR_DAYS_MTD").Text 

答案 3 :(得分:0)

只要您使用C#,就应该使用方括号而不是括号来引用索引。

fitem["WEEKENDS_MTD"].Style["color"] = "Black";

VB.NET使用索引括号。