1

事情就是这样。我有这个名为“测试”的视图:

   @model Project.Models.Test
   @{
    Layout = null;
    }

   <!DOCTYPE html>
   <html>
   <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>Testing</title>   
   </head>
   <body>
    @using (Html.BeginForm()) {
    @Html.AntiForgeryToken()

  --- some html and razor using model attributes ---

  }
  </body>
  </html>

而在 TestController 中,应该返回视图的 ActionResult 方法。

    public ActionResult Testing(int id) {
        Test test = db.Test.Find(id); (I have a breakpoint in here)
        if (test == null)
        {
            return HttpNotFound();
        }
        return View(test);
    }

出于某种原因,如果我在浏览器的地址栏上写,localhost:(number of port)/Test/Testing/1视图会呈现但不是来自控制器,因为我在控制器中有一个断点并且它不执行该指令。正因为如此,一切显然都是空的,因为没有对象。我不知道为什么视图在不调用控制器操作的情况下呈现。

编辑:我的 routeconfig 看起来像这样

public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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

0 回答 0