Ext.NET MVC – TextBox Change as a Parameter + Reload GridPanel from Restful

Ext.NET MVC – TextBox Change as a Parameter + Reload GridPanel from Restful

 
   Define TextBox and GridPanel from View
 
   @(Html.X().TextField()
     .ID("SearchBtn")
     .EnableKeyEvents(true)
     .Listeners(x => x.FocusLeave.Handler = "RefreshGrid('SearchBtn', 'GridPanel', '" + Url.Action("GetDataFilter") + "' )"))
 
   @(Html.X().GridPanel()
     .ID("GridPanel")
     … …
 
   JavaScript to Get the TextBox Value and to Pass it to Restful for Refreshing the GridPanel
 
   function RefreshGrid( textboxid, gridpanelid, url )
   {
     var t = Ext.getCmp(textboxid);
     var grid = Ext.getCmp(gridpanelid);
     var v = "";
 
     if ( t instanceof Ext.form.TextField )
     {
       if ( !t.readOnly )
       {
         v = t.getValue();
 
         if ( grid != null && v != "" )
           grid.getStore().reload(({ url: url + "?CompanyName=" + encodeURIComponent(v) }));
         else if ( grid != null )
           grid.getStore().reload(({ url: url }));
       }
     }
   }
 
   Controller about Return Data
 
   public ActionResult GetDataFilter(string CompanyName)
   {
     return this.Store(this.GetAllCompanies(CompanyName.Trim()));
   }