I have a Web Grid with paging and sorting enabled. Right now all are working fine. I tried to add a search text box and a link "GO" just above the grid. My aim is to filter the grid according to the text in that Textbox. What is the best method i need to apply for this? If i go for an ajax, then how can i load the grid. I'm getting the return value as 'html'
Below is the code
Script
$("#btnGO").click(function () {
var controlAction = '@Url.Action("Search", "User")';
var request = $.ajax({
url: controlAction,
type: "POST",
data: { SearchKeyword: $("#txtSearch").val() },
dataType: "html"
});
request.done(function (msg) {
alert(msg);
$("#gridContent").html(msg);
});
request.fail(function (jqXHR, textStatus) {
alert("Request failed: " + textStatus);
});
});
Controller
[HttpPost]
public ActionResult Search(string SearchKeyword)
{
Dictionary<string, string> Columns = new Dictionary<string, string>();
Columns.Add("EMPNO", "Employee No");
Columns.Add("FIRST_NAME", "Name");
Columns.Add("EMAIL", "Email");
Columns.Add("MOBILE", "Mobile");
Columns.Add("CUR_ADDRESS", "Address");
// Columns.Add("NATIONALITY", "Nationality");
Common.Helper Helper = new Common.Helper();
ViewBag.Columns = Helper.CreateGridColumn(Columns, "KEY");
USERLIST objList = new USERLIST();
if (SearchKeyword != null)
objList = Bll.User.getList(SearchKeyword, 1);
ViewBag.TotalCount = objList.TotalRecord;
return PartialView("_Grid", objList);
}
CSHTML
<div class="row">
<div class="col-sm-12">
<div class="box">
<div class="box-title">
<h3>
<i class="fa fa-table"></i>
</h3>
<div class="pull-left" style="padding-right:10px !important;">
@Html.TextBox("txtSearch","", new { Class = "form-control valid" }) @*new Dictionary<string, object>{ { "class", "form-control valid" }, { "id", "textEmpno" },{ "data-rule-required", "true" },{"type","2"}}*@
</div>
<div class="pull-left" style="padding-right:10px !important;"><a href="#" id="btnGO" class="btn" rel="tooltip" title="Add">GO</a></div>
<div class="pull-right" style="padding-right:10px !important;"><a href="Create" onclick="edit(0);" class="btn" rel="tooltip" title="Add"><i class="glyphicon-table"></i>Create New User</a></div>
</div>
@Html.Partial("_Grid", Model.UserList)
</div>
</div>
</div>
Thanks Bobbin