C# 将Eval的值从int转换为string
我有一个整数存储在我的数据库中,我需要转换字符串 这是我的评估尝试:C# 将Eval的值从int转换为string,c#,asp.net,eval,C#,Asp.net,Eval,我有一个整数存储在我的数据库中,我需要转换字符串 这是我的评估尝试: <%# ChangeSalaryType(Eval("SalaryType")) %> 但我得到了这些错误: Argument 1: cannot convert from 'object' to 'int' Error 2 The best overloaded method match for 'controls_allPlacements.ChangeSalaryType(int)' has
<%# ChangeSalaryType(Eval("SalaryType")) %>
但我得到了这些错误:
Argument 1: cannot convert from 'object' to 'int'
Error 2 The best overloaded method match for 'controls_allPlacements.ChangeSalaryType(int)' has some invalid arguments
Error 4 The best overloaded method match for 'controls_allPlacements.ChangeSalaryType(int)' has some invalid arguments
我在Eval中使用了“SalaryType”,因为它是一个参数,其中包含来自数据库的信息。我不能完全肯定我做错了什么 即使您知道
SalaryType
字段在您的aspx中将是一个int
字段,它也将在Eval()之后转换为对象。执行如下显式强制转换:
<%# ChangeSalaryType(Convert.ToInt32(Eval("SalaryType"))) %>
尝试将您的评估部分转换为int
Eval
可能会将对象
作为返回类型返回。我更喜欢发送关于代码隐藏的数据项,并通过以下方式获取数据:
<%#RenderSalaryType(Container.DataItem)%>
Convert.ToInt32(Eval("SalaryType"))
<%#RenderSalaryType(Container.DataItem)%>
protected string RenderSalaryType(object oItem)
{
int salaryType = (int)DataBinder.Eval(oItem, "SalaryType");
// rest of your code
}