我想知道如何在JavaScript中使用C#变量?在javascript中使用c#变量
回答
如果我理解你的意图,在你的ASPX页面试试这个
<script type="text/javascript">
<!--
function showCSharpVar() {
alert('<%= myCSharpVariable %>');
}
-->
</script>
其中myCSharpVariable在声明公共变量的代码隐藏这样
public string myCSharpVariable = "display me";
你也可以做一个网页如果您需要完成更多的工作,可以在页面上找到公共财产。
另一种选择是使用RegisterClientScriptBlock()或RegisterStartupScript()将脚本直接嵌入到页面中。这些是我用来决定哪种情况最好的标准。
//A.
// Page.RegisterClientScriptBlock() will insert the *block* of script just after <form>.
// Page.RegisterStartupScript() will insert the script at end of <form>.
//B.
// Page.RegisterClientScriptBlock() should usually be used for scripts encapsulated in functions. (hence the word "block")
// Page.RegisterStartupScript() can be used for any script, even if it's not in a function.
//C.
// Page.RegisterClientScriptBlock() should be used for functions that don't need to run on Page load.
// Page.RegisterStartupScript() should be used for scripts that must run on Page Load.
//D.
// Page.RegisterClientScriptBlock() should be used for a script that does not require the form elements to have been created.
// Page.RegisterStartupScript() should be used for scripts that require the form elements to have been created and uses references to them.
//
使用这种方法,你可以注入的JavaScript到页面(例如,您在留言询问了数组),但它使经常难以追踪的错误,你将不能够单元测试。
如果您使用的是UpdatePanels,则可能需要使用其中一个或另一个,具体取决于它是全部还是部分回发。试试这个来解决这个问题
if (ScriptManager.GetCurrent(referenceControl.Page).IsInAsyncPostBack)
{
ScriptManager.RegisterClientScriptBlock(referenceControl, referenceControl.GetType(), "uniqueID",
"Your Script Here", true);
}
else
{
ScriptManager.RegisterStartupScript(referenceControl, referenceControl.GetType(), "uniqueID",
"Your Script Here", true);
}
这是不是也要求页面本身是绑定到类实例后面的代码的数据? – Justin 2010-10-13 07:57:15
好的非常感谢,但另外1个问题是为变量,但我怎么可以使用它的数组... – user471987 2010-10-13 07:59:35
@Kragen。我相信你是对的。这并不理想,但它是我知道跨越应用程序边界的最干净的方式。 – Laramie 2010-10-13 08:13:29
<script type="text/javascript">
function GetValue() {
var myJsVar = "<%= anyC#Variable %>";
//执行你想要的操作。
}
</script>
但记住变量“anyC#Variable”的访问说明符应该高于私有。 你可以采取“保护”或“公共”,但不是私人的。
C#:
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "temp", "<script language='javascript'>alert(" + abc + ");</script>", false)
VB:
ScriptManager.RegisterStartupScript(Me.Page, Me.GetType(), "temp", "<script language='javascript'>alert(" + abc + ");</script>", False)
- 1. 在C中使用Javascript变量#
- 2. 在变量/参数中定义变量并在javascript中使用?
- 3. 在JavaScript中使用变量引用
- 4. C# - 使用HTMLAgilityPack获取JavaScript变量值
- 5. 如何在使用Razor的javascript块变量里面使用C#变量?
- 6. 使用Javascript变量
- 7. 使用javascript变量
- 8. JavaScript/JQuery:在变量名中使用$(this)
- 9. 如何在jsRender中使用javascript变量?
- 10. 在JavaScript中使用全局变量
- 11. 在Sparql更新中使用Javascript变量
- 12. 在JavaScript变量中使用刀片
- 13. LARAVEL:在php中使用javascript变量
- 14. 在php中使用javascript变量
- 15. JavaScript变量在HTML中使用
- 16. 在PostBackUrl中使用JavaScript变量
- 17. 在XML文件中使用JavaScript变量
- 18. 如何在JavaScript中使用asp变量?
- 19. 在ajax函数中使用变量(javascript)
- 20. 在Jsp脚本中使用Javascript变量
- 21. 在Replace()方法中使用变量 - Javascript
- 22. 如何在JavaScript中使用PHP变量?
- 23. 在Javascript中使用jquery变量
- 24. 在HTML代码中使用JavaScript变量
- 25. 在Javascript中使用变量。替换
- 26. 在PHP中使用Javascript变量
- 27. 使用Angular在JavaScript中导出变量?
- 28. 在javascript中使用Django模板变量
- 29. 在php中使用javascript函数变量
- 30. 在javascript中使用全局变量
请解释[读的C#属性为jQuery代码]更好 – 2010-10-13 07:41:35
可能重复(http://stackoverflow.com/questions/1300128/reading -c-property-into-jquery-code) – 2010-10-13 07:47:25