2012-04-11 6 views
0

mvc3 Textbox beibehalten nach dem Klicken auf die Schaltfläche. mein Ansichtscode.nach dem Klicken auf Absenden Schaltfläche Autocomplete Textbox sollte nicht leer sein in MVC3

<div style="float: left"> 

States Filter : 

</div> 

<div style="float: left; padding-left: 10px"> 
    @Html.TextBox("Statestxt") 
</div> 

<div style="padding-left: 10px; float: left"> 
    <input type="image" value="submit" src="../../Images/FilterBrowse.gif" 
      alt="submit Button" />  
</div> 

Mein Controller:

public ActionResult AutocompleteAsync(string term) 
{ 
    var suggestions = from s in Adm.states 
    select s.state_name; 
    var namelist = suggestions.Where(n => n.ToLower().StartsWith(term.ToLower())); 

    return Json(namelist, JsonRequestBehavior.AllowGet); 
} 



[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult States(state stateModel, string _stateName, 
    FormCollection formvalues) 
{ 
    AdmDataContext Adm = new AdmDataContext; 

    if (Request.Form["Statestxt"] == null) 
    { 
     ViewBag.Error = "Enter State Name."; 
     ViewData["name"] = false; 

     return View(); 
    } 
    else 
    { 
     _stateName = Request.Form["Statestxt"].ToString(); 
     var record = (from state in Adm.states 
         where state.state_name == _stateName 
         select state).Count(); 

     if (record == 0) 
     { 
      ViewBag.Error = "Enter Valid State Name."; 

      return View(); 

     } 

     var _Stateid = from state in Adm.states 
         where state.state_name == _stateName 
         select state; 

     int StateId = (int)_Stateid.First().state_id; 
     var state1 = am.FindUpcomingStates2(StateId).ToList(); 

     if (state1 != null) 
     { 
      ViewData["name"] = true; 
      return View("States", state1); 
     } 

    } 

} 

Hier nach Schaltfläche Textbox klicken einreichen sollte leer sein. Wie kann ich Code für Textbox nicht leer schreiben.

Danke.

Antwort

0

Warum Sie keine Ansicht Modell verwenden:

public class StateViewModel{ 

public string StateTxt { get; set; } 

} 

dann auf die Ansicht (Rasierapparat Ansicht)

@model StateViewModel 

@html.TextBox("StateTxt", Model.StateTxt) 

dann auf dem Controller

[HttpPost] 
public ActionResult States(StateViewModel model) 
{ 
//Do here what you want 

//Then put the text box empty 

model.StateTxt =string.empty; 

return View(model); 

} 

this helps

Verwandte Themen