I'm trying to scrape Google search results in MVC with the help of Google search API. But then, there's an error in my view saying that search_list
is NullReferenceException
.
public void Search(string searchString)
{
const string apiKey = "AIzaSyDE5amOomu_BqZF9pWktULIb-ffPDJK0-k";
const string searchEngineId = "003470263288780838160:ty47piyybua";
string query = searchString;
CustomsearchService customSearchService = new CustomsearchService(new Google.Apis.Services.BaseClientService.Initializer() { ApiKey = apiKey });
CseResource.ListRequest listRequest = customSearchService.Cse.List(query);
listRequest.Cx = searchEngineId;
Search search = listRequest.Execute();
List<SearchList> search_list = new List<SearchList>();
foreach (var item in search.Items)
{
var list = new SearchList();
list.AdLink = item.Link;
list.AdTitle = item.Title;
list.AdDetails = item.Snippet;
search_list.Add(list);
}
}
and my code in view
<div>
@if (Model.search_list.Count != 0)
{
<ul class="clearfix">
@foreach (var item in Model.search_list)
{
<li>@item.AdLink</li>
<li>@item.AdTitle</li>
<li>@item.AdDetails</li>
}
</ul>
}
</div>
my controller
public ActionResult Index(string SearchString)
{
if (!string.IsNullOrEmpty(SearchString))
{
var search = new GoogleSearch();
search.Search(SearchString);
}
return View();
}
When I debug it, my search_list
is not null
though. Can someone help me here?