我有一个listview,我在静态方法中绑定Listview,但是当我尝试绑定listview时,它会显示一个错误,提示对象引用未设置为对象的实例。当我调试时,我发现listview为null。我有这样的静态函数:
[System.Web.Services.WebMethod]
public static void LoadSearchList(string Locality)
{
SearchResults objSearchResults = new SearchResults();
objSearchResults.LosdBusinessListview(Locality);
}
private void LosdBusinessListview(string LocalityName)
{
try
{
SearchResults objSearchResults = new SearchResults();
objLocalityMasterDataAccess = new LocalityMasterDataAccess();
DataTable dt = objLocalityMasterDataAccess.GetLocalitylist(LocalityName);
ViewState["LocalityID"] = dt.Rows[0]["LocalityID"].ToString();
objSearchResults.BusinessListingListView.DataSourceID = SearchResultObjectDataSource.ToString();
objSearchResults.BusinessListingListView.DataBind();
}
catch (Exception ex)
{
return;
}
}
我从像这样的
这样的javascript调用LoadSearchList() PageMethods.LoadSearchList(document.getElementById('CityDiv').innerHTML, OnSuccess);
我有一个列表视图及其数据源,如下所示:
<asp:ListView ID="BusinessListingListView" runat="server" GroupItemCount="1" OnPagePropertiesChanging="BusinessListingListView_PagePropertiesChanging"
DataSourceID="SearchResultObjectDataSource">......</asp:ListView>
<asp:ObjectDataSource ID="SearchResultObjectDataSource" runat="server" EnablePaging="true"
TypeName="CliqueCityDAL.DataAccess.Configuration.YPSearchResultsDataAccess" SelectCountMethod="GetYPSearchResultsCount"
SelectMethod="GetYPSearchResults" MaximumRowsParameterName="NoOfRows" StartRowIndexParameterName="StartRowIndex"
OnSelecting="SearchResultObjectDataSource_Selecting">
<SelectParameters>
<asp:Parameter Name="searchText" Type="string" />
<asp:Parameter Name="searchLocation" Type="string" />
<asp:Parameter Name="searchCategory" Type="string" />
<asp:Parameter Name="SearchLocality" Type="string" />
</SelectParameters>
</asp:ObjectDataSource>
我有一个选择的对象数据源方法就像这样
protected void SearchResultObjectDataSource_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
string searchLocation, searchCategory, searchText;
searchLocation = Request.Cookies["CityID"].Value;
searchCategory = Request.QueryString["sc"] == string.Empty ? "" : Request.QueryString["sc"];
searchText = Request.QueryString["st"] == string.Empty ? "" : Request.QueryString["st"];
e.InputParameters["searchText"] = searchText;
e.InputParameters["searchLocation"] = searchLocation;
e.InputParameters["searchCategory"] = searchCategory;
if (ViewState["LocalityID"] != null)
{
e.InputParameters["SearchLocality"] = ViewState["LocalityID"].ToString();
}
else
{
e.InputParameters["SearchLocality"] = "0";
}
}