这段代码有什么问题,我收到了这个错误:
Compiler Error Message: CS1502: The best overloaded method match for 'RenderName(string, string)' has some invalid arguments
<ItemTemplate>
<asp:Label ID="lblName" Text='<%# RenderName(Eval("Name"), Eval("Value")) %>' runat="server" />
</ItemTemplate>
public string RenderName(string name, string value)
{
//do stuffs..
}
答案 0 :(得分:1)
如果Eval()的返回类型是一个对象(我怀疑它是),那将解释你所看到的错误。也许将你的功能改为:
RenderName(object nameString, object valueString)
然后在函数中,检查传递的params是否为null,并将它们重新转换为字符串,或者只是在它们上调用ToString()。
注意:我不在我可以在自己的开发环境中验证这一点的地方,所以如果这种方法有一些小问题,请道歉。
答案 1 :(得分:0)
我收到错误的原因是因为我没有转换类型
<ItemTemplate>
<asp:Label ID="lblName" Text='<%# RenderName(Eval("Name").ToString(), Eval("Value").ToString()) %>' runat="server" />
</ItemTemplate>
按预期工作。