从aspx.cs获取javascript中的变量

Get variable in javascript from aspx.cs

本文关键字:变量 javascript 获取 aspx cs      更新时间:2023-09-26

我有一个名为MyForm.aspx的aspx表单。在这个表单中,我包含了一个javascript文件:

<script type="text/javascript" src="Scripts/MyForm.js"></script>

在MyForm.aspx.cs中有一个属性:

public string Username { get; set; }

我如何在MyForm.js中访问这个Username变量?

我尝试了以下方式,但它不工作:var username = '<%=this.Username%>'

从服务器端通用处理程序文件调用javascript:

<script type="text/javascript" src="cogs/awesomejavascript.ashx"></script>

输出处理程序文件中的所有javascript:

public void ProcessRequest (HttpContext ctx)
{
        ctx.Response.ContentType = "text/plain";
        StringBuilder bild = New StringBuilder;
        bild.Append("var username = " + this.username);
        ctx.Response.Write(bild.ToString);
}

如果你不习惯处理程序文件,你可以使用ascx文件

JavaScript引擎将无法解析服务器<%=this。JS文件中的Username%>代码,因为服务器标记不是其规范的一部分。这些服务器括号只能在aspx/ascx文件中解析。净引擎。

你可以在MyForm.js文件中创建一个函数,它接受用户名字段getUserName(username){return username;}的ID作为参数,并从MyForm中调用该函数。像这样的Aspx页面:

[MyForm.aspx]

var username = '<%=this.Username%>';
getUserName(userName);
[MyForm.js]

getUserName(userName)
{
   return userName;
}