可以使用带有母版页的ASP页面吗?

时间:2009-05-15 12:16:29

标签: asp.net asp-classic

是否可以在ASP.NET中使用带有母版页的ASP页面?

6 个答案:

答案 0 :(得分:2)

不幸的是,不是以编程方式。您可以获得的最接近的是创建.NET母版页和Web表单,然后通过iFrame嵌入您的经典asp页面。

答案 1 :(得分:1)

你还有这个问题吗?有一个really old tool可以帮助转换为.ASP的早期版本。不幸的是,我不相信这是转换为更高版本的asp.net的最佳做法。我正在开发一个项目来转换经典的ASP应用程序,它有很多很多页面,它仍然使用带有旧SQL数据库的记录集。我发现每个页面的“查看源”结果并在我的VS2010网页项目中创建一个新页面,使用母版页来帮助保持整个网站的结果一致非常好。

唯一的问题是这非常繁琐,需要经常测试以确保页面与旧页面保持一致。

回到在新的ASP.net应用程序中使用经典ASP的原始问题,我相信可以通过拥有两个应用程序池,两个应用程序在Web服务器上分离应用程序,并将旧页面引用为iframe中的链接。只是一个想法...

干杯

答案 2 :(得分:0)

我不这么认为。你在谈论经典的asp吗?我刚发现这个discussion

[编辑]

也许你可以。检查this

[/编辑]

答案 3 :(得分:0)

我建议创建一个新的ASP.NET MVC(而不是WebForms)项目,并在一个练习中将所有ASP页面转换为ASP.NET。

执行分阶段转换并运行ASP和ASP.NET的混合将导致各种令人头疼的问题,尽管可能会感觉更快,但总成本可能高于一次性转换练习

在大多数情况下,ASP.NET MVC比ASP.NET WebForms更适合从ASP转换。

答案 4 :(得分:0)

您可以在asp.net mvc中使用母版页作为共享资源。

答案 5 :(得分:0)

我现在遇到这个问题。一些ASP页面非常复杂,对网站功能的更改比移植一些更困难的页面更重要。

如果您必须暂时并肩工作,请将它们放慢速度,执行以下操作。

  1. 在.NET程序集中获取业务逻辑,“tlbimp.exe”它可以与ASP互操作,然后移动您的页面决策以与此组件通信。这样,您现在可以共享业务逻辑,因此只能移动UI数据。

  2. 通过DB传递Session / QueryString数据,而不是通过查询字符串传递。这意味着您应该将Session / QueryString数据提交到XML或Key / Value对并​​将其存储在DB中(具有到期时间)。然后使用GUID重定向到您的ASP。有人可能会通过抓住之前的GUID来劫持会话。因此,定期运行预定作业以清除超过1分钟的会话数据。

  3. 在向/从.NET传输时,尝试使页面在跨边界传输之前执行其操作。这样可以更轻松地移植页面。例如,假设.NET显示订单,而ASP则搜索产品&将它添加到您的购物篮中。确保操作是分开的,而不是通过查询字符串参数传递产品。这样,您就可以通过查询字符串参数重定向到订单页面 - http://...../Order.aspx?id=(只要您的用户有权查看订单)。

  4. 确保您的ASP代码使用的是存储过程,而不是内联SQL,因为这意味着代码重用更容易。

  5. 我发现创建一个专用的redirect.asp和Redirect.aspx页面很有用,因为你可以看到跨越边界的数据 - 它更容易调试,但你会听到很多点击作为用户ASP - > ASP_REDIRECT - > ASP.NET_REDIRECT - > ASP.NET。

  6. 全球化是一个主要问题,并给我们的用户带来了问题。更改语言并在ASP中重定向到/从站点重定向有时导致他们的语言默认为英语 - 英语为中文!

  7. 没有太多方法可以简化转换,主要是让您低头并更改这些页面。