如何发送数据源参数来选择函数
本文关键字:选择 函数 参数 何发送 数据源 | 更新日期: 2023-09-27 17:49:19
编辑
这是我的新尝试:
现在我得到ObjectDataSource 'MenuDataSource' could not find a non-generic method 'GetData' that has no parameters.
<asp:ObjectDataSource
ID="GridDataSource"
SelectMethod="GetData"
TypeName="Model.GridProvider"
runat="server" >
<SelectParameters>
<asp:Parameter Name="MenuItemID" Type="Int32" DefaultValue="10" />
</SelectParameters>
</asp:ObjectDataSource>
public int DbToAccess
{
get
{
return SiteMaster.Current_MenuItemID;
}
}
[DataObject(true)]
public static class MyMenuProvider
{
[DataObjectMethod(DataObjectMethodType.Select)]
public static HierarchicalCollection GetData(int inputMenuItemID)
{
return GetCollection(inputMenuItemID);
}
}
我该怎么做?
您可以使用一个公共参数,其get调用将转到DataSource并返回其set参数。或者更好的方法是一个公共参数,将其值存储在会话变量中,并且Select函数和DataSource都访问该参数。类似这样的东西:
public string MyParam
{
get
{
return Session["MyParamStr"].ToString();
}
set
{
Session["MyParamStr"] = value;
}
}
然后在您的Markup 中
<asp:Parameter value='<%# MyParam %>' />
答案是我很愚蠢TypeName="Model.GridProvider"
我使用select方法的类是MyMenuProvider
更改为
public static class GridProvider
{
[DataObjectMethod(DataObjectMethodType.Select)]
public static DataTable GetData(int MenuItemId)
{
return GuiCreators.getDataTable("");
}
public static void GetCommand(int id)
{
}
}
我的所有问题都解决了