在javascript中使用c#变量

在javascript中使用c#变量,c#,javascript,C#,Javascript,我想知道如何在javascript中使用C#变量?如果我理解您的意图,请在您的ASPX页面中尝试 <script type="text/javascript"> <!-- function showCSharpVar() { alert('<%= myCSharpVariable %>'); } --> </script> 如果您需要完成更复杂的任务,也可以在页面上创建公共属性 另一个选项是使用RegisterClientScriptBl

我想知道如何在javascript中使用C#变量?

如果我理解您的意图,请在您的ASPX页面中尝试

<script type="text/javascript">
<!--
function showCSharpVar() {
   alert('<%= myCSharpVariable  %>');
}
-->
</script>
如果您需要完成更复杂的任务,也可以在页面上创建公共属性

另一个选项是使用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. 
//

函数GetValue(){
var myJsVar=“”;
//执行您想要的操作

 }
</script>
}
但请记住变量“anyC#variable”的访问说明符应该高于private。 您可以选择“受保护”或“公共”,但不能选择“私人”

ScriptManager.RegisterStartupScript(this.Page,this.GetType(),“temp”,“alert(“+abc+”);”和false)
VB:

ScriptManager.RegisterStartupScript(Me.Page,Me.GetType(),“temp”,“alert(“+abc+”),False)

对于ASP.NET MVC,我需要完成以下工作:

var IP='@HomeController.ServerIP'


其中,
ServerIP
是HomeController类中的一个
public static
变量。请确保在
cshtml
文件的顶部导入您的类。

可能的重复是否也要求页面本身将数据绑定到类实例背后的代码?好的,非常感谢,但还有一个问题这是变量,但如何使用其中的数组…@Kragen。我相信你是对的。这并不理想,但它是我所知道的跨越应用程序边界的最干净的方法。这是针对ASP.NET Core的
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);
}
<script type="text/javascript">

function GetValue() {
var myJsVar = "<%= anyC#Variable %>";
 }
</script>
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "temp", "<script language='javascript'>alert(" + abc + ");</script>", false)
ScriptManager.RegisterStartupScript(Me.Page, Me.GetType(), "temp", "<script language='javascript'>alert(" + abc + ");</script>", False)