将值从C#asp.net传递到JAVASCRIPT不起作用

Pass value from C# asp.net to JAVASCRIPT not working

本文关键字:JAVASCRIPT 不起作用 net C#asp      更新时间:2023-10-11

我有一个JS变量valuePercent,我从hdnParam.value(从C#获得的字符串)中获得它的值,但它不起作用。我使用ParseInt()将字符串转换为int,但在输出中得到了NaN。有什么想法吗?

.ASPX.cs

 string test = "67";
 hdnParam.Value = test;

.ASPX

  <%-- Hidden field to store string to be displayed in gage--%>
   <input type="hidden" id="hdnParam" runat="server" clientidmode="Static" />
   <script>
    var valuePercent = document.getElementById("hdnParam").value; 
    var gg1 = new JustGage({
        id: "gg1",
        donut: 0,
        title: "LAKELAND",
        titleFontColor: "#000000",
        min: 0,           
        max: 100,           
        labelFontColor: "#000000",
        humanFriendlyDecimal: 1,
        decimals: 1,
        symbol: "%",
        refreshAnimationType: "bounce",
        gaugeWidthScale: 0.6,
        customSectors: [{
            color: "#ff0000",
            lo: 0,
            hi: 79
        }, {
            color: "#ffa500",
            lo: 80,
            hi: 89
        }, {
            color: "#1eae1e",
            lo: 90,
            hi: 100
        }],
        counter: true
    });
    function refreshDiv() {
        gg1.refresh(parseInt(valuePercent)); //THIS DOES NOT WORK
        gg1.refresh(45); //THIS WORKS
    }
    var myVar = setInterval(function () { refreshDiv() }, 1000);
</script>

设置Page_Load上隐藏字段的值,并在触发OnClientClick事件时调用javaScript函数。

MyPage.aspx。cs

protected void Page_Load(object sender, EventArgs e)
{
    hiddenFieldValue.Value = "this is the value";
}

加价:

<div>
    <asp:HiddenField ID="hiddenFieldValue" runat="server" />
    <asp:Button ID="ClickButton" runat="server" Text="Click Here" OnClientClick="DisplayValue()" />
</div>

javaScript:

function DisplayValue() {
        var valuePercent = document.getElementById("hiddenFieldValue").value;
        alert(valuePercent);
    }

你能检查一下"隐藏输入"的生成id吗?ASP.NET可能会在id中添加前缀,我看到你已经将clientidmode设置为static,但要求确定。

如果id有前缀,你可能会得到这样的值:

document.getElementById("<%=hdnParam.ClientID%>").value