重定向到 URL - asp.net vs MVC

本文关键字:net vs MVC asp URL 重定向 | 更新日期: 2023-09-27 18:36:31

我的问题有点类似于如何从 MVC3/Razor 中的操作中获取响应"流"?

但我尝试过他们的方法,但没有成功。

我正在使用MVC3,.net4,c#,

JavaScript 和用于打开文件的第三方组件。

我有一个连接到ViewFile.aspxviewStuff.js

在我的viewStuff.js我有

var component = 'code to initialize'

以前

我曾经有aspx页面连接到这个javascript,它们工作得很好

在我的viewStuff.js我有

component.openFile("http://localhost:8080/ViewFile.aspx");

重定向到 ASPX 页面

ViewFile.aspx.cs文件以HTTPResponse的形式返回与文件相关的数据

  protected void Page_Load(object sender, EventArgs e)
        {
            this.Response.Clear();
            string stuff = "abcd";
            this.Response.Write(stuff);
            this.Response.End();
        }

现在

我只想用一个将返回相同内容的Controller替换这个aspx

在我的viewStuff.js里,我有

component.openFile("http://localhost:8080/ViewFile/Index");

Controller看起来像

public class ViewFileController: Controller{
   public ActionResult Index()
   {
     string stuff = "abcd";
     return stuff;
   }
}

我唯一的问题是我的component.openFile()方法无法使用MVC URL访问Controller。 我一启动Index()就有活动断点,但它们从来没有 被击中。

我不知道它
是否 - 网址
- MVC - URL是方法而不是物理文件的事实

另外,我不确定如何弄乱 RouteConfig() 是否有帮助。

编辑:路由配置:-

routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }                    
            );

(如果需要,我可以获得更多细节。在投反对票之前让我知道)

重定向到 URL - asp.net vs MVC

我想

到了 2 种可能性

  1. 从控制器操作返回ContentResult

    public class ViewFileController : Controller
    {
       public ActionResult Index()
       {
           string stuff = "abcd";
           return Content(stuff);
       }
    }
    
  2. 使用视图:

    public class ViewFileController : Controller
    {
       public ActionResult Index()
       {
           return View();
       }
    }
    

    在相应的 Index.cshtml 视图中,您可以放置所需的任何标记。

此外,在控制器中放置任何断点之前,请在浏览器地址栏中打开http://localhost:8080/ViewFile/Index URL,看看它是否返回正确和预期的数据。