如何将字符串从 C# 传递到 JavaScript 变量
How to pass a string from C# to a javascript variable
我喜欢将字符串从C#传递给javascript变量。简单的方法是:
string aaa = "hello";
然后
<script>
var javacriptVariable = "<%=aaa%>";
</script>
但是,我问是否有另一种不使用<script>
块的方法将该变量转换为JavaScript等效项,仅使用C#代码。
谢谢。
在 C# 中将其写入div 的InnerHtml
,并从 JavaScript 代码中获取div 的innerHTML
。
笔记:
- 你必须使div
runat="server"
. - 请注意大小写(大写/小写(之间的差异C#的
InnerHtml
和js的innerHTML
。
好吧,最好的方法是包含JSON.NET
并输出它:
var aaa = <%= JsonConvert.Serialize(aaa) %>;
然后,无论是字符串、整数、数组还是其他任何东西,它都将以 JS 可以处理它的方式进行序列化。 如有必要,这还将处理任何类型的转义(例如 aaa = "Hello '"World'"!"
(
另一种选择是使用处理程序/AJAX 检索它(但对于如此简单的任务来说,这有点太多的开销(。
最后,您可以注册脚本:
Type type = this.GetType();
string scriptName = "assign aaa";
ClientScriptManager clientScript = Page.ClientScript;
if (!clientScript.IsClientScriptBlockRegistered(type, scripName))
{
StringBuilder sb = new StringBuilder();
sb.Append("<script type='"text/javascript'">")
.AppendFormat("var aaa = {0};", JsonConvert.Serialize(aaa))
.Append("</" + "script>");
clientScript.RegisterClientScriptBlock(type, scripName, sb.ToString());
}
但以上只是一种更复杂的方式,无论如何都会得到一个<script>
标签。
我实际上创建了一个名为 Ngon 的 nuget pacakge,它正是这样做的:
http://www.nuget.org/packages/NGon/
这是铁轨宝石贡的撕裂
相关文章:
- 将函数的上下文应用于javascript变量
- 如何通过ajax刷新JSF填充的javascript变量
- Javascript变量赋值|
- 限制javascript变量的最小/最大整数
- 来自文本输入null的html javascript变量
- 访问jsrender模板中的全局javascript变量并更新它
- 从数据库中获取数据并插入JavaScript变量
- 如何将javascript变量传递到Meteor Spacebars模板中
- 将JavaScript变量保存到Rails模型
- 在if语句下的html中使用javascript变量
- Javascript变量分配-按类别
- 操作javascript变量[HTML]以只显示文本
- 无法比较javascript变量
- 如何将smarty变量与javascript变量进行比较
- 如何使用PHP将javascript变量添加到mysql数据库中
- Javascript 变量使用 jquery 查找变量
- 重新加载页面时Javascript变量发生变化
- 在asp classic中使用javascript变量
- 全局Javascript变量变为null
- 如何向服务器端提交javascript变量