2011-01-26 92 views
0

我渲染HTML從Ajax調用返回,目前使用簡單的HTML控件和從Ajax調用返回的字符串看起來是這樣的:服務器控制和建築HTML - ASP.NET

string s = "<tr><td><a href=\"#\">MyLink</a></td></tr>"; 

現在,點擊這些鏈接我需要在服務器端進行一些處理以確定我需要導航到哪裏以及獲取其他信息。我的理解是,我不能在這個HTML字符串中使用<asp:linkbutton />

如果我不想使用ajax,如何進行服務器端調用。

+0

您是否有權更改來自AJAX的HTML? – smelch 2011-01-26 20:53:45

回答

0

編寫JavaScript函數,並從各個環節的點擊數這樣稱呼它:然後

<a href="#" onclick="someFunc(this)">My Link</a> 

someFunc可以隱藏的輸入字段設置爲你希望服務器反應值。這可以是鏈接元素(鏈接的文本,您在AJAX響應中指定的屬性的值等)中的任何內容。在函數結尾處,調用form1.submit();

function someFunc(link){ 
    var hiddenInput = document.getElementById("ClickedLink"); 
    hiddenInput.value = link.innerText; 
    form1.submit(); 
} 

然後在服務器上,在後面的代碼你ON_LOAD:

if(ClickedLink.Value != ""){ 
    ProcessLinkClick(ClickedLink.Value); 
} 
1

你不一定需要使用ASP .NET服務器控件頒佈在後服務器端邏輯背部。手動構建HTML並在AJAX調用中返回的鏈接可以將用戶引導至HttpHandler(甚至是aspx頁面),並將必要的值傳遞給查詢字符串上的處理程序/頁面。然後,該處理程序/頁面可以執行其服務器端邏輯並根據需要重定向。

也許我誤解了這個問題?是否有特定的原因,你特別想使用LinkBut​​ton?