1

Eval を介して関数に 2 つの値を渡そうとしています。

私の機能:

public static string ValidateSalary(int salaryFrom, int salaryTo)
{
    string salary = string.Empty;

    if (salaryFrom == salaryTo)
    {
        salary = "£" + salaryFrom.ToString();
    }
    else 
    {
        salary = "£" + salaryFrom.ToString() + " - £" + salaryTo.ToString();
    }
    return salary;
}

私の評価の試み:

<%# ValidateSalary(Eval("SalaryFrom", "SalaryTo")) %>

私のエラー:

Error   5   No overload for method 'ValidateSalary' takes 1 arguments

フォーマットする方法を複数試しましたが、わかりません!

4

3 に答える 3

1

コード ビハインドで DataItem を送信することにより、任意のパラメーターを次のように取得できます。

<%#RenderSalaryType(Container.DataItem)%>

そしてコードビハインドについて

protected string RenderSalaryType(object oItem)
{
    int salaryType = (int)DataBinder.Eval(oItem, "SalaryType");
    string salaryFrom = (int)DataBinder.Eval(oItem, "SalaryFrom").ToString();
    string salaryTo = (int)DataBinder.Eval(oItem, "SalaryTo").ToString();

    // rest of your code
}

https://stackoverflow.com/a/15864175/159270に似ています

于 2013-04-07T16:09:41.730 に答える
0

Evalを 2 回使用する

<%# ValidateSalary(Convert.ToInt32(Eval("SalaryFrom")), Convert.ToInt32(Eval("SalaryTo")) %>
于 2013-04-07T15:44:58.980 に答える
0

このようにパスできます...

<%# ValidateSalary(Convert.ToInt32(Eval("SalaryFrom")),Convert.ToInt32(Eval("SalaryTo"))) %>
于 2013-04-07T15:45:16.167 に答える