我是ASP.NET新手。
我有一个javascript文件,我希望在页面加载时动态输入值。为了测试这一点,我尝试了:
$
(
function ()
{
alert('<% = DateTime.Now.ToString("dddd, MMMM d, yyyy") %>');
}
)
警告会按预期触发页面加载,但VB未执行;我只是回想起VB代码,好像它只是另一个字符串。
脚本文件在关闭正文标记之前的网站母版页上声明。
我做错了什么?感谢。
答案 0 :(得分:0)
<%
和%>
标记之间的代码是服务器端脚本。它包含的文件应该由服务器解析,因此可以执行代码。在Asp.Net中,例如.aspx文件,或者在MVC中,服务器将解析.cshtml文件或.vbhtml文件,并在页面发送到客户端之前执行它们上的代码。
服务器不解析您的javascript文件,并且在将服务器端代码发送到客户端之前不会执行服务器端代码。那么浏览器和javascript引擎看到的字面意思就是你输入的内容,这就是你在警报中看到的内容。
如果您希望在将javascript发送到浏览器之前执行服务器端代码,最好的办法是将javascript包含在.aspx文件中(如果使用webforms),html所在的位置。