0

ボタンクリック後も保持される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>

私のコントローラー:

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);
        }

     }

}

ここで送信ボタンをクリックした後、テキストボックスは空になっているはずです。空でないテキストボックスのコードを書くにはどうすればよいですか。

ありがとう。

4

1 に答える 1

0

ビューモデルを使用してみませんか:

public class StateViewModel{

public string StateTxt { get; set; }

}

次にビュー上(かみそりビュー)

@model StateViewModel

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

次にコントローラーで

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

//Then put the text box empty

model.StateTxt =string.empty;

return View(model);

}

お役に立てれば

于 2012-04-11T11:46:10.730 に答える