将值从 c# 绑定到返回 NaN 的 html?
Posted
技术标签:
【中文标题】将值从 c# 绑定到返回 NaN 的 html?【英文标题】:Binding value from c# to html returning NaN? 【发布时间】:2019-02-10 05:28:12 【问题描述】:这是我的html
代码:
<div id="page" class="page chartContainer">
<h1>Your Score is</h1>
<div class="progress-bar">
<canvas id="inactiveProgress" class="progress-inactive" ></canvas>
<canvas id="activeProgress" class="progress-active" ></canvas>
<p id="percentagediv" runat="server"></p>
</div>
<div id="progressControllerContainer" runat="server">
<input type="range" runat="server" id="progressController" min="0" max="200"/>
</div>
</div>
这是我从后面的代码绑定值的地方:<p id="percentagediv" runat="server"></p>
。
这是我的C#
代码:
if (Convert.ToInt32(dt.Rows[0][1]) != 0 && Convert.ToInt32(dt.Rows[1][1]) != 0)
int achived = Convert.ToInt32(dt.Rows[0][1]);
int trget = Convert.ToInt32(dt.Rows[1][1]);
int percentage = (int)Math.Round((double)(100 * achived) / trget);
percentagediv.InnerHtml = percentage + "%";
else
percentagediv.InnerHtml = 0 + "%";
我已经调试了它来自percentagediv
的值,但在首页它显示为NaN
?
这里有什么问题?任何帮助将非常感激。谢谢!
【问题讨论】:
【参考方案1】:您的问题是 + 运算符。 + 被视为一元数学加法,并将尝试 convert the string to a number 就像在 javascript 中一样。
您需要删除 + 并使用不同的方法,例如 String.Concat Method。
【讨论】:
仍然没有显示。我这样做了percentagediv.InnerHtml = percentage.ToString();
。
看这里:docs.microsoft.com/en-us/dotnet/api/…
谢谢,虽然我的代码和这个链接没有什么不同。
我注意到,当我重新加载页面时,它会显示秒的百分比,然后显示 NaN
【参考方案2】:
试试
percentagediv.InnerHtml = String.Format("0%", percentage );
【讨论】:
当您检查 Console.WriteLine( String.Format("0%", percent) ); , 是否符合您的预期? 它显示为例如70%
在我的案例中也显示在 console.writeline
中。问题是它没有显示在页面上,只显示NaN
以上是关于将值从 c# 绑定到返回 NaN 的 html?的主要内容,如果未能解决你的问题,请参考以下文章
如何将值从 InAppBrowser 返回到 Ionic 应用程序