gpt4 book ai didi

javascript - 将经典 ASP Javascript 包含升级到 .net

转载 作者:行者123 更新时间:2023-11-30 13:34:41 25 4
gpt4 key购买 nike

我正在开发一个从经典 ASP 项目发展而来的 ASP.net 3.5 项目。我们有两个旧的 Javascript 文件,它们包含在几页中并且从未正确更新过。 Javascript 包含 ASP.Net 服务器标签,文件以 .js.aspx 扩展名保存。

嵌入式 VB.net 指的是类中的共享(静态)属性以及 ASP.net session 变量。有问题的类未导入到 Javascript 文件中,因此 Visual Studio 无法编译页面。但是,当您加载包含这些文件的页面时,它工作正常。

将这些文件更新为 .Net 标准的正确方法是什么?我们应该避免在 Javascript 文件中使用服务器标记,还是有一种 .Net 方法可以将 Javascript 和服务器端代码混合在一个可包含的文件中?

谢谢。

编辑以回答问题:

该文件包含在 <!-- #include virtual="myFile.js.aspx"--> 脚本标签内。编译器错误是:“未声明名称‘MyClass’”,其中 MyClass 是被引用的类。

最佳答案

如果您在 JS 函数中需要服务器端数据,我会建议不同的方式。

例如,假设你现在有这样一个东西:

function Foo() {
var f = "hello <%=MyClass.LoggedUser%>";
}

改为:

function Foo() {
var f = "hello " + _loggedInUser;
}

然后在页面本身的Page_Load事件中添加这样的代码:

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "logged_user", "var _loggedInUser = '" + MyClass.LoggedUser + "'; ", true);

这会很好地发送值,在我看来比直接在 JS 代码中更正确。

关于javascript - 将经典 ASP Javascript 包含升级到 .net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5339216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com