2009-07-17 7 views
0

詳細ビューのためにリストを作成しようとしています。リストの一番上に検索テキストボックスを置きます。検索結果がリストを部分的に置き換えてくれることを願っています。ajaxフォームを検索するための検索結果を取得できません

マイ制御コードのように:

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> 

私はAjaxフォームを送信すると、それが正しい行動Searcnに達しなかったと私は右からの結果を手に入れましたビューのリストは新しい結果に置き換えられませんでした。

私のようなアクションを変更して再検索した場合:

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

リストテスト文字列で置き換えることがウィルを。 この問題を解決するにはどうすればよいですか?

答えて

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> 
関連する問題