2012-08-01 70 views
7

一個Javascript變量的值我有這樣的javascript代碼:從代碼變化背後

<script> 
$(document).ready(function() { 
    var progValue1 = 100; 
    var progValue2 = 30; 
    $("#progressbar").progressbar({ value: progValue1}); 
    $("#progressbar2").progressbar({ value: progValue2 }); 
}); 
</script> 

我想從後面的代碼在單擊按鈕時改變兩個變量(progValue1progValue2)的值。 ....

這是我怎樣才能改變從C#代碼的值作爲該按鈕

<asp:Button ID="btnConfirm" CssClass="button" SkinID="Common" runat="server" Text= "Confirm" OnClick="btnConfirm_Click" /> 

代碼方法?

+1

看到這個帖子http://stackoverflow.com/questions/3655766/assign-value-to-javascript-variable-in-c-sharp-代碼隱藏 – 2012-08-01 09:58:07

+0

是你的工作?... – 2012-08-01 10:17:26

+0

@PranayRana我只是標記了適合我的答案...是你想知道的嗎? – 2012-08-01 10:27:55

回答

9

後面添加兩個屬性,即

private int _progValue1 = 100; 
private int _progValue2 = 30; 

protected int ProgValue1 { get { return this._progValue1; }} 
protected int ProgValue2 { get { return this._progValue2; }} 

修改您的JS:

<script> 
    $(document).ready(function() { 
    var progValue1 = <%=ProgValue1%>; 
    var progValue2 = <%=ProgValue2%>;  
    $("#progressbar").progressbar({ value: progValue1}); 
    $("#progressbar2").progressbar({ value: progValue2 }); 
    }); 
</script> 

然後在你的OnClick事件處理程序中設置的值:

this._progValue1 = 40; 
this._progValue2 = 20; 
+0

我改變了這一點「設置」,否則它給了我一個錯誤.... public int ProgValue1 {get {return this._progValue1; } set {_progValue1 = value; }} public int ProgValue2 {get {return this._progValue2; } set {_progValue2 = value; }} – 2012-08-01 10:17:06

+0

試過你的代碼,它是完美的..... thanx ... – 2012-08-01 10:17:54

+0

@riznomdemha - 對不起,我糾正了我的代碼,但你也可以使用setters。同樣的區別。 – 2012-08-01 10:18:28

1

我從你的查詢中假設你想從後面的代碼改變Javascript變量的值意味着你想從後面的代碼發送值到javascript。您可以使用ScriptManager.RegisterClientScriptBlock來實現此目的。爲了更elobrate,請參見下面的代碼:

JS

function ChangeValue(value1) 
{ 
    yourvariable = value1; 
} 

代碼

private void SomeMethod() 
{ 
    string newvalue = "test value"; //need to pass this to JS var 
    ScriptManager.RegisterClientScriptBlock(this,typeof(Page),"key","ChangeValue("+ newvalue +");",true); 
}