小编fri*_*iii的帖子

如何在ObjectDataSource.SelectMethod中使用全局变量?

我正在使用ListView + DataPager + ObjectDataSource组合.

在我对ObjectDataSource的SelectMethod的实现中,我想访问PageLoad()事件中设置的全局变量(该方法每页只返回适当数量的项).尽管变量在PageLoad()中初始化,但在SelectMethod中似乎为null.我怎么能改变呢?

    <asp:ObjectDataSource ID="ItemsObjectDataSource" runat="server" EnablePaging="True"
                        SelectMethod="WrapSearchResults" SelectCountMethod="CountSearchResults"
                        TypeName="Catalogue">
                        <SelectParameters>
                            <asp:QueryStringParameter Name="startRowIndex" QueryStringField="page" Type="Int32" DefaultValue="0" />
                            <asp:Parameter Name="maximumRows" Type="Int32" DefaultValue="10" />
                        </SelectParameters>
    </asp:ObjectDataSource>
Run Code Online (Sandbox Code Playgroud)
SearchOption search;
protected void Page_Load(object sender, EventArgs e)
{
    search = new SearchOption(SessionParameters.Get(Session).User);
}

public IEnumerable<ResultWrapper> WrapSearchResults(int startRowIndex, int maximumRows)
{
    search.Limit = maximumRows; <-- null pointer exception
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net

5
推荐指数
2
解决办法
2853
查看次数

标签 统计

asp.net ×1

c# ×1