2009-07-17 4 views
0

자세히보기 위해 creat list를 시도합니다. 그런 다음 검색 텍스트 상자를 목록 맨 위에 놓습니다. 검색 결과가 부분적으로 목록을 대체하기를 바랍니다.아약스 양식 검색을위한 검색 결과를 얻을 수 없습니다

내 제어 코드와 같은 :

public ActionResult Index(int? page) 
{ 
    Repository repository = new Repository(); 
    var listitems= repository.FindAllItems(); 
    return View(registry_page); 
} 

public ActionResult Search(string keyword) 
{ 
    try 
    { 
    Repository repository = new Repository();  
    var listitems = repository.FindItemsByKeyWord(keyword);   
    return View("Index", registries); 
    } 
    catch 
    { 
    return View("Index"); 
    } 
} 

내보기 코드와 같은 :

<script src="<%= Url.Content("~/Scripts/MicrosoftAjax.js") %>" type="text/javascript"></script> 
<script src="<%= Url.Content("~/Scripts/MicrosoftMvcAjax.js") %>" type="text/javascript"></script> 

<% using (Ajax.BeginForm("Search", new AjaxOptions { UpdateTargetId = "MyList" })) 
    { %> 
<p> 
    Search: 
    <input id="keyword" name="keyword" type="text" /> 
    <input type="submit" value="Go" /> 
</p> 
<% } %> 

<div id="MyList"> 
<table idth="780px"> 
    ... 

    <% foreach (var item in Model) 
     { %> 
     <tr> 
     ... 
     </tr> 
    <% } %> 
</table> 
</div> 

나는 아약스 양식을 제출하면, 그것은 올바른 행동 Searcn에 도달 않았고 나는에서 올바른 결과를 얻을했다 저장소에 있지만보기의 목록이 새 결과로 바뀌지 않았습니다. 내가 좋아하는 액션 검색 변경하는 경우

:

public ActionResult Search(string keyword) 
{ 
string teststring = "<div>This is a test string to replace the list</div>"; 
return Content(teststring); 
} 

을 목록은 테스트 문자열에 의해 대체 될 줘야 해. 이 문제를 해결하는 방법?

당신이 (가) 부분보기로 myList를 당겨 수 있습니다

답변

0

, MyPartialList.ascx

다음이 부분 뷰를 반환해야 검색 actionresult, 이런 식으로 뭔가 :

public ActionResult Search(string keyword) 
{ 
    Repository repository = new Repository();  
    var listitems = repository.FindItemsByKeyWord(keyword);   
    return PartialView("MyPartialList", listitems); 
} 

인덱스보기에서 같은 초기 목록을 렌더링 이 :

<div id="MyList"> 
    <% Html.RenderPartial("MyPartialList",Model); %> 
</div> 

귀하의 부분, MyPartialList.ascx는 다음과 같이 보일 것이다 :

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Item>>" %> 
<table ..> 
<% foreach(var item in Model){%> 
    // print it out 
<%}%> 
</table> 
관련 문제