我有一个名为MyForm.aspx的aspx表单。在这种形式中,我包含了一个javascript文件:
<script type="text/javascript" src="Scripts/MyForm.js"></script>
在MyForm.aspx.cs中,a有一个属性:
public string Username { get; set; }
如何在MyForm.js中访问此Username
变量?
我尝试了以下方式,但它不起作用:
var username = '<%=this.Username%>'
答案 0 :(得分:1)
从服务器端通用处理程序文件调用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文件。
答案 1 :(得分:0)
JavaScript引擎无法解析服务器&lt;%= this.Username%&gt; JS文件中的代码,因为服务器标记不是其规范的一部分。这些服务器括号只能由ASP.NET引擎在aspx / ascx文件中解析。
您可以在MyForm.js文件中创建一个函数,该函数接受用户名字段的ID作为参数getUserName(userName){return userName;}并从MyForm.aspx页面调用该函数,如下所示:
[MyForm.aspx]
var username = '<%=this.Username%>';
getUserName(userName);
[MyForm.js]
getUserName(userName)
{
return userName;
}