2013-03-17 190 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