我想通过Eval将两个值传递给一个函数。
我的功能:
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;
}
我的Eval尝试:
<%# ValidateSalary(Eval("SalaryFrom", "SalaryTo")) %>
我的错误:
Error 5 No overload for method 'ValidateSalary' takes 1 arguments
我尝试了多种格式化方法,我无法弄明白!
答案 0 :(得分: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
}
答案 1 :(得分:0)
两次使用Eval
<%# ValidateSalary(Convert.ToInt32(Eval("SalaryFrom")), Convert.ToInt32(Eval("SalaryTo")) %>
答案 2 :(得分:0)
你可以像这样通过......
<%# ValidateSalary(Convert.ToInt32(Eval("SalaryFrom")),Convert.ToInt32(Eval("SalaryTo"))) %>