假设我有一些经典ASP页面通过Response.Write生成所有输出。
我想将这些页面移植到ASP.NET,但(至少最初)避免完全重写。
我应该如何设置我的ASP.NET项目以促进这一点?我假设我有空的.aspx文件并将VB.NET / C#等效于VBScript代码放在代码隐藏文件中,然后从那里使用Response.Write?
答案 0 :(得分:2)
您可以在这里找到scott Mitchell关于如何将ASP页面转换为ASP.NET的教程:http://msdn.microsoft.com/en-us/library/ms973813.aspx。
答案 1 :(得分:1)
您描述的选项可以使用。
确保.aspx
页面只有完整的@page
指令(包含Inherits
,CodeBehind
和可能的language
属性)移植代码并使用隐藏在代码中的Response.Write
。
您可能想要考虑移植到更传统的asp.net应用程序 - 可以将常用的UI元素制作成用户控件,然后可以跨页面重用这些元素。
答案 2 :(得分:0)
看起来像是一件不寻常的事情,但你建议的方法应该有用 但是我建议将vbscript转换为C#/ VB.NET所花费的精力最好只用于重写为标准的ASP.NET页面。
答案 3 :(得分:0)
这是一个想法:
由于 ASP.net MVC 可以从控制器中吐出HTML,您甚至不需要构建.ASPX
页面,只需构建适用于您应用程序的控制器。
有两种方法:
public ActionResult myAction() {
Return Content("<html><body>Hello World!</body></html>");
}
而且,更优雅,性能更好(取决于HTML的大小),但更多工作:为您的网页创建自定义ActionResult
:
public class MyActionResult : ActionResult
{
public override void ExecuteResult(ControllerContext context)
{
context.HttpContext.Response.Write("<html><body>Hello World!</body></html>");
}
}