c# - How to do search in asp.net mvc3 -


iam using mvc3,i have empty search form in using textbox search button,if user search data , click search button,then has show result taken index view. here controller action

     public actionresult search(string searchstring)     {         var certificate = s in db.certificate_mst                        select s;         if (!string.isnullorempty(searchstring))         {             certificate = certificate.where(s => s.certificateno.contains(searchstring));          }         return view(certificate);     } 

and view code is

   @using (html.beginform("search","certificate1",formmethod.get)) { <p><b>certificateno</b>:@html.textbox("searchstring") <input type="submit" value="search" /> 

by using code,searching working getting data have in view before searching,i need have empty form before click search button , after click search has show result.

simply check empty string before retrieving certificates

public actionresult search(string searchstring) {     if (string.isnullorempty(searchstring))     {          //return empty viewmodel          return view();     }      var certificate = db.certificate_mst.where(s => s.certificateno.contains(searchstring));     return view(certificate); } 

also check out blog post wrote on search extension method iqueryable should helpful you

http://www.ninjanye.co.uk/2013/03/c-generic-search-extension-method-for.html

http://jnye.co/posts/6/c%23-generic-search-extension-method-for-iqueryable

using extension method code becomes...

var certificate = db.certificate_mst.search(s => s.certificateno, searchstring)); 

the preferred method split view , post action follows. allows return results should empty string posted:

public actionresult search() {     return view(); }  [httppost] public actionresult search(string searchstring) {     var certificate = db.certificate_mst.where(s => s.certificateno.contains(searchstring));     //or     //var certificate = db.certificate_mst.search(s => s.certificateno, searchstring));     return view(certificate);         } 

Comments