Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将Eval的值从int转换为string_C#_Asp.net_Eval - Fatal编程技术网

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
}