2011-08-04 42 views
4

我使用的情況下點擊()到後面調用代碼的方法,像這樣:點擊()JavaScript中的事件與PARAM?

HTML

<asp:button bordercolor="White" id="btnAddGS" onclick="AddGSBandeira" runat="server"> 

JAVASCRIPT

$("#ctl00_ContentPlaceHolder1_btnAddGS").click(); 

C#

public void AddGSBandeira(object sender, EventArgs e) 
{ 

} 

它的工作正常,但我需要在javascript調用中傳遞參數,lik e:

$(「#ctl00_ContentPlaceHolder1_btnAddGS」)。click(「param」);

但我不知道這是如何工作的......任何人都可以幫忙嗎?

回答

1

最好的辦法是創建一個隱藏的控件,並在click事件中用JavasScript填充它的值。您的代碼將能夠在回發(AJAX或其他)上訪問該值。

標記

<asp:HiddenField ID="myHiddenField" runat="server" /> 
<asp:button bordercolor="White" id="btnAddGS" 
      onclick="AddGSBandeira" 
      onclientclick="SetHiddenValue()" runat="server"> 

的JavaScript

function SetHiddenValue() 
{ 
    document.getElementById("<%=myHiddenField.ClientID%>").value = "[Your value here]"; 
} 

C#

public void AddGSBandeira(object sender, EventArgs e){} 
{ 
    var jsVal = myHiddenField.Value; 
} 
+0

問題是,我在JavaScript中有一個ID ..這個ID我需要在我的Codebehind ..所以我怎麼能把這個ID從JS Codebehind,使用它? – eMi

+0

你可以在後面的代碼中訪問它:'myHiddenField.Value' – Fender

+0

@Fender,如我在文章中所述:) –

0

你可以用做到這一點。

​​

$("#ctl00_ContentPlaceHolder1_btnAddGS").trigger("click",["param"]); 

相信觸發應的參數的陣列的第二參數來傳遞給該函數。

+0

這不是什麼eMi要求... – Fender

+0

thx爲您的答案!但是我怎樣才能在CodeBehind中處理我的Method中的這個Param? protected void button_clicked(object sender,EventArgs e,int param){}? – eMi

+0

@Fender我不同意你的看法。 kingjiv爲eMi提供了另一種實現目標的途徑。 – reporter