2009-09-17 51 views
2

我有一個用戶控件(因爲我在其他頁面中使用相同,所以我認爲我應該重用代碼,而不是我的工作的兩倍),但在本頁中顯示公司,每個公司都有一個公司號碼,我需要將該公司號碼傳遞給該用戶控制,並且必須使用通過的公司號碼重新加載。傳遞一個值並重新載入用戶控制從Javascript

我該如何做到這一點?

是我到目前爲止有:

alt text http://www.balexandre.com/temp/2009-09-17_0917.png

顯示公司結構鏈接是由

<a href="javascript:showStruct('112:201334607','5564967221');" 
    class="showStructLink">Show company structure</a> 

showStruct方法是這樣寫

function showStruct(pid, cnr) { 
    if (_showStrut == 0) 
     return; 

    // fancy stuff to be more apealing visually 
    $("#tdSearch").removeClass("tabTitleUp01").addClass("tabTitleDownUp01"); 
    $("#tdStruct").removeClass("tabTitleDownUp02").addClass("tabTitleUp02"); 

    $("#srtr1").hide(); 
    $("#srtr2").hide(); 
    $("#sttr1").show(); 

    // enable Search Results tab to be clicked in order to get back 
    $("#tdSearch") 
     .addClass("pointer") 
     .bind("click", function() { hideStructure(); }); 

    // pass the company number and reload wcCompanyStruture web user control 
    // __doPostBack('RefreshWebUserControl', cnr); 
    } 

我可以製作一個簡單的aspx頁面,內部控件和jQuery調用$ .get()來正確運行和填充控件,但我真的很想學習如何正確使用ASP.NET AJAX方法來做到這一點。發送數量和使用呼叫RefreshData它

後臺代碼很容易刷新用戶控件,只需調用

wcCompanyStruture.RefreshData("companyNumberHere"); 

什麼,我需要在我的用戶控制端做的,以及在showStruct方法來創建這種行爲?

所有幫助表示讚賞,謝謝。

回答

5

我知道這不是你問題的答案,但我想你可能會問錯誤的問題。

它在我看來,就像你有一個搜索結果+詳細信息視圖情景,你會錯誤的方式。

當您單擊「顯示公司結構」時,您想要在第二個選項卡右側看到詳細信息?如果是這種情況,那麼選項卡方式會讓用戶感到困惑,用模式彈出來顯示細節會更好。沒有回傳只是AJAX加載一個頁面的細節到一個模式彈出窗口。

這是很容易與jQuery使用jQueryUI的對話框控件和AJAX加載功能$('#SomeDiv').load('details.aspx?id='+companyid);

http://docs.jquery.com/Ajax/load#urldatacallback

它會給一個更好的用戶體驗,這是出奇的簡單代碼。

我希望這會有所幫助。

+0

duhhh!有時我們只是喜歡複雜:) – balexandre 2010-01-26 22:33:37

-2

你可以在這裏

http://codeclimber.net.nz/archive/2007/06/26/how-to-refresh-an-updatepanel-from-javascript.aspx

覺得不用擔心文章的標題有你所需要的只是做了四個步驟,你準備好去。

+0

humm ...有一個隱藏的文本框,就像我正在做的一樣,但我無法獲取該值,並且在我的頁面中沒有在頁面中的updatePanel ...但它給了我一個新的對的眼睛在這個問題上。 Thxs。 – balexandre 2009-11-11 07:59:34

+0

歡迎您,請您告訴我您是如何在隱藏框中發佈價值的,以便了解您爲什麼在可能的情況下無法獲得價值的原因。 thx – Kronass 2009-11-11 21:35:33

0

對於每個「顯示公司結構」鏈接,可以使用LinkButton,並將CommandArgument屬性設置爲相應的公司標識。 LinkButton將導致回發。

第二種解決方案是使用隱藏變量:<input type="hidden" id="hiddenCompanyNumber">並在showStruct方法中設置它的值。然後,您可以撥打__doPostBack(),爲此,您需要一個控制權來回傳我的想法。

總而言之,我認爲第一個解決方案不太好。

相關問題