2008-12-29 68 views
1

我有一個顯示一組元素的DataList控件。任何人都可以在正確的方向上指出我如何在用戶單擊列表中的某個元素時添加一些客戶端功能來提交/回發(例如,在列表元素中的任何位置)。看到通過添加一個隱藏的LinkBut​​ton,連線了一些例子 - 但我還沒有得到它正常工作ASP.NET/DataList:客戶端通過單擊列表元素回發

歡呼聲,

--larsw


感謝您的幫助 - 我你知道我是否可以從lambda函數調用一個隱藏的asp:LinkBut​​ton(對於選定的項目),以便發回帖子?

您的代碼示例中存在一個小錯字(以防其他人讀取此線程): 我不得不向#添加#到jQuery選擇器; ' <%= DataList1.ClientID%> TD'

--larsw

回答

5

沒有這樣的事,作爲一個 「客戶端回傳」,這是一個erronous聲明。回發意味着提交給服務器(或外部服務器)。

你真正需要的是在頁面中添加一些AJAX方法。這可以在幾個方面進行:

  • 的UpdatePanel
  • 純MS AJAX
  • 混合MS AJAX和jQuery的(或其他JavaScript庫,我建議jQuery的,由於它的內VS支持2008)

UpdatePanel的方法

這是不是真的,如果你有一個非常沉重的頁面最好的主意。看看我寫的博客文章,如果你想獲得更多關於什麼的信息 - http://www.aaron-powell.com/blog.aspx?id=1195

簡單地說,如果你不明白限制是什麼,UpdatePanels可能是一個危險的選擇。

MS AJAX和/或jQuery的

這是我對你應該做的建議。使用jQuery找到所有的DOM,你想要把客戶端事件上的元素,例如:

$('#<%= DataList1.ClientID %> span').click(function() { alert('You want something here'); }); 

大衛·沃德對使用jQuery與ASP.NET/ ASP.NET AJAX一些好的帖子 - http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/

注:如果你要使用你的AJAX實現不會訪問頁面的控件集合,它都將是靜態方法互動,所以要注意,如果要更新多節您需要編寫JavaScript方法來完成此操作。

相關問題