2013-03-17 94 views
1

我的Asp.Net MVC 4在索引視圖中有以下代碼。回帖後保留html輸入值?

<form action="/Deal" method="GET"> 
    <p> 
     @Html.ActionLink("Create New", "Create") 
     <input type="text" name="search"/> 
     <input type="submit" value="Search" /> 
    </p> 
</form> 

和DealController中的以下代碼。但是,回傳後,html搜索輸入是無效的。在輸入框中顯示類型化搜索字符串的最佳方式是什麼,以便用戶可以繼續修改它?

public ActionResult Index(string search) 
{ 
    var deals = Deals.Include(d => d.Address); 
    if (search != null) 
     deals = 
      deals.Where(d => d.Address.ApartmentNum.Contains(search) 
          || d.Address.StreetAddress.Contains(search) 
          || d.Address.City.Contains(search) 
          || d.Address.State == search 
          || d.Address.Zip == search); 
    return View(deals.ToList()); 
} 

回答

0

實測值只需要使用實測值的舊方式

<input type="text" name="search" value="@Request.QueryString["search"]"/> 
1

也許不是最好的,但更簡單的方法之一。

<form action="/Deal" method="GET"> 
    <p> 
     @Html.ActionLink("Create New", "Create") 
     <input type="text" name="search" value= "@((string)ViewBag.Search)" /> 
     <input type="submit" value="Search" /> 
    </p> 
</form> 

public ActionResult Index(string search) 
{ 
    var deals = Deals.Include(d => d.Address); 
    if (search != null) 
     deals = 
      deals.Where(d => d.Address.ApartmentNum.Contains(search) 
          || d.Address.StreetAddress.Contains(search) 
          || d.Address.City.Contains(search) 
          || d.Address.State == search 
          || d.Address.Zip == search); 
    ViewBag.Search = search; 
    return View(deals.ToList()); 
} 
+0

只需要使用的舊方式' ' – ca9163d9 2013-03-17 05:07:48

+0

不錯,適合我。 – Signcodeindie 2013-09-19 11:09:05