2010-07-01 75 views
1

我有一個包含搜索欄,構面和結果列表的頁面。我試圖弄清楚,如果用戶輸入搜索或選擇一個構面(如類別向下鑽取列表)來刷新結果和構面列表。從一個ajax請求呈現多個部分(asp.net mvc搜索頁面)

我已經搞混了模板,比如John Resig的Micro-Templating(這很酷),但是它不允許我調用我需要做的輔助擴展。使其工作的唯一方法是在發送回服務器之前按下服務器上的數據。但數據來自solr,所以速度非常快,在開始渲染之前我寧願不做太多的工作。

作爲一個簡單的例子,這裏的排序(sudocode)佈局:

<form> 
    <div id="query"> 
     <%= Html.TextBox("q")%> 
    </div> 
    <div id="results"/> 
    <div id="facets"/> 
</form> 

我想,如果他們打字,開始顯示結果每隔幾個字符或第二,所以只是泵數據進入結果和facet divs ...這可能與MVC2?或者我只需要使用js模板來填充div html?

回答

2

我結束了剛剛分手了,結果到多個viewresults,並美其名曰異步通過jQuery的,就像這樣:

function run_search(url) { 
    var search_url = url.replace('?', '/facettree?'); 
    $.get(search_url, function (html) { 
     $('#filter').html(html); 
    }); 
    search_url = url.replace('?', '/booksearchresults?'); 
    $.get(search_url, function (html) { 
     $('#results-list').html(html); 
    }); 
} 

然後,點擊該方面直接去這個方法,和一個計時器上查詢框將查詢添加到URL並在半秒鐘後暫停。