我正在使用转发器控件,我试图传递一个参数:
<%# SomeFunction( DataBinder.Eval(Container.DataItem, "Id") ) %>
Run Code Online (Sandbox Code Playgroud)
它基本上是在呼唤:
public string SomeFunction(long id) {
return "Hello";
}
Run Code Online (Sandbox Code Playgroud)
因为我收到错误,我无法实现此目的:
错误CS1502:最好的重载方法匹配... SomeFunction(long id)...有一些无效的参数.
有任何想法吗?
Kie*_*ron 10
你需要将结果转换为long,所以:
<%# SomeFunction( (long)DataBinder.Eval(Container.DataItem, "Id") ) %>
Run Code Online (Sandbox Code Playgroud)
另一种方法是做这样的事情:
<%# SomeFunction(Container.DataItem) %>
Run Code Online (Sandbox Code Playgroud)
和...
public string SomeFunction(object dataItem) {
var typedDataItem = (TYPED_DATA_ITEM_TYPE)dataItem;
// DO STUFF HERE WITH THE TYPED DATA ITEM
return "Hello";
}
Run Code Online (Sandbox Code Playgroud)
这至少允许您使用数据项(DataRows等)中的多个值.
| 归档时间: |
|
| 查看次数: |
10540 次 |
| 最近记录: |