2012-08-01 75 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); 
}