【问题标题】:Debug with Visual Studio, wrong URL on ASP.NET MVC使用 Visual Studio 调试,ASP.NET MVC 上的 URL 错误
【发布时间】:2009-02-01 16:04:23
【问题描述】:

我刚刚在 VS2008 中创建了一个 ASP.NET MVC 项目。

当我在浏览器中按 F5 调试当前视图时,它会打开 ASPX 文件的 URL:

http://localhost/Views/MyController/Index.aspx

而不是:

http://localhost/MyController

如何让它打开好的网址?

【问题讨论】:

    标签: asp.net-mvc visual-studio-2008 debugging


    【解决方案1】:

    您已在项目属性的 Web 选项卡中将启动操作设置为当前页面。

    将其更改为特定页面并将特定页面文本框留空。

    编辑:从附加到这个答案的 cmets 中,我们已经确定 VS 需要启发式地确定鉴于编辑器中的当前页面是“视图/产品/索引.aspx" 我们希望 VS 在 /Products 启动调试会话。

    现在对 VS 要求太多了。

    替代方案似乎总是从根目录开始并导航。

    但是,您可以将特定页面文本框编辑为您希望它开始的路径。如果您正在调试上述视图,那么在文本框中输入“产品”可能是您最接近目标的方式。

    每次您想要重复测试不同的视图时,都必须不断更改特定页面文本框的内容。

    【讨论】:

    • 使用您的解决方案,它始终会打开主页 (localhost)。我希望 VS 打开我当前视图的控制器:如果我处理 /Views/MyController/Index.aspx 文件,我希望它打开 localhost/MyController
    • 为什么你的控制器在你的 Views 文件夹中?通常,控制器位于 Controllers 文件夹中。
    • 实际上,我不确定这是否可行。您想要的是打开与控制器操作而不是视图相对应的路由。视图由控制器选择。在没有相关路线信息的情况下打开特定视图是没有意义的。
    • 抱歉造成误解,我的控制器位于 Controllers 文件夹中。这是另一个例子:当我处理 /Views/Products/Index.aspx 文件时,它是 ProductsController 控制器的视图,我希望 VS 打开localhost/Products
    • @tvanfosson,我理解,但我认为在 ASP.NET MVC 中,如果没有指示任何操作,它会执行控制器的 Index() 操作?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    • 2019-03-09
    • 2017-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多