2011-03-03 52 views
0

我有一個名爲searchResultPlayer的ascx文件。 鑑於我使用以下代碼後更新partialview - jquery

<div id="player"> 
    <% Html.RenderPartial("SearchResultPlayer"); %> 
    </div> 

我使用以下jQuery代碼後呈現上述ASCX文件。

$('#resultTable tr').live('click', function (event) { 
$.post("/Search/SearchResult", { 
      content: "GetCallDetails" 
     } 
     ); 
    }); 

郵政工作正常。從控制器我返回partialview.Code如下所示

return PartialView("SearchResutPlayer", searchModel); . 

控制器每個post.I回國後這可以看出,在調試。

我的問題是如何更新視圖中使用jquery返回的值?

我知道我可以使用這樣的事情

<% using (Ajax.BeginForm("SearchResult", "Search", 
         new AjaxOptions {        
          HttpMethod="POST", 
          UpdateTargetId="player",        
         })) { %> } 

但由於一些問題,我不能用ajax開始形式。所以在jQuery中有什麼像UpdateTargetId ???

EDIT

我試圖通過達林建議的方法。 我寫的jQuery這樣

    $('#player').load(
       '<%= Url.Action("SearchResult", "Search") %>', 
       { content: 'GetCallDetails' } 
      ); 

查看

if (Request.IsAjaxRequest()) 
     { 
      if (content != null)     

      { 
       searchModel.selectedRecord = "test message"; 
       return PartialView("SearchResutPlayer", searchModel); 
      } 
     } 

而且在ASCX文件

<label> <%= Html.Encode(Model.selectedRecord) %></label> 

最初Model.selected有一個像 '裝' 的值。但阿賈克斯後發佈其不改變爲「測試消息」

我試圖通過PsychoCoder too.But建議的方法多數民衆贊成也沒有工作

回答

4

但由於一些問題,我不能用ajax開始形式。

有問題嗎?我不會稱這完全是問題。我會稱之爲好設計。如果你不能使用Ajax.*幫手,你是一個快樂的人。我個人討厭那些助手,因爲他們把你的標記成污染,這是尤其如此,MVC 1和2

所以在jQuery的你有.html()功能,允許您設置一個給定的元素的HTML:

$('#resultTable tr').live('click', function (event) { 
    $.post(
     '<%= Url.Action("SearchResult", "Search") %>', 
     { content: 'GetCallDetails' }, 
     function(result) { 
      $('#player').html(result); 
     } 
    ); 
}); 

甚至與.load()功能簡單:

$('#resultTable tr').live('click', function (event) { 
    $('#player').load(
     '<%= Url.Action("SearchResult", "Search") %>', 
     { content: 'GetCallDetails' } 
    ); 
}); 

還要注意的網址助手的使用,而不是硬編碼的網址。你應該總是使用URL打交道時使用的網址助手,因爲有對StackOverflow上簡直像問題百分之部署在IIS的時候,我只是不想多一個:-)

+0

hi.thanx尋求幫助。我嘗試了你建議的兩種方法。但它並沒有取代searchresultplayer.ascx文件。當使用htmlhelper時,我可以調試那個ascx文件。但是當使用jQuery的時候,ascx文件上的斷點不工作,它不能取代當前的數據。我是否需要使用ascx文件來重新加載頁面的某些部分? – 2011-03-03 08:16:09

+0

@Null指針,你的'/ Search/SearchResult'控制器動作返回什麼?通常它應該返回部分,就像這樣返回PartialView(「searchresultplayer」);'。 – 2011-03-03 09:30:33

+0

你可以看看編輯的問題 – 2011-03-03 13:14:09

0

看看我的應用程序停止工作在問題here,看看這是你想要完成

相關問題