2010-12-15 341 views
0

我有asp.net頁面,我在標記js文件中綁定。 Js文件主要通過類名稱來處理一組函數。 在這些函數中,我使用WCF從服務器獲取數據,並僅更改contols狀態和數據。 也進入頁面我做回發。一切都很好,但我的jQuery功能後不工作。回發之後,我只添加一行到不涉及jQuery邏輯的網格。ASP.NET在回發後丟失jQuery綁定

但是,當我改變了我的邏輯從

$(文件)。就緒(函數()

$jq("#ctrlID").change(function() { });) 

$(文件)。就緒(功能()

$jq("#ctrlID").live('change', function() { });) 

一切工作正常。

我很困惑。這是什麼?我不添加控件

回答

2

$(document).ready()在DOM準備就緒時執行。但是,它不會觸發ajax異步回發,因此所有綁定都會丟失。 Live()實質上始終保持綁定「活動」。另一種解決方案是使用pageLoad()客戶端事件,它是ASP.NET客戶端框架的一部分。這種方法會觸發正常和部分回發,並且可以像在正常情況下一樣綁定事件。

function pageLoad(sender, args) 
{ 
// Your event bindings here 
} 

您還可以使用args.get_isPartialLoad(),以確定是否在回發或異步回發是。