我的问题有两部分:
我的MVC项目具有如下文件夹结构:
我想在“创建”页面中创建链接到“优惠”WebForm
我尝试将其添加到RouteConfig:
routes.MapPageRoute(
"idea-savings-calculator",
"Idea/Savings",
"~/Views/Idea/Savings.aspx"
);
但是默认的MVC MapRoute函数:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
首先映射到URL localhost:xxxx/Idea/Savings
并抛出错误,因为Idea控制器存储中没有名为Saving的操作。
编辑:RouteConfig类:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
routes.MapPageRoute(
"idea-savings-calculator",
"Idea/Savings",
"~/Views/Idea/Savings.aspx"
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
以下是“创意”控制器网址的“创建”视图中的剪切:http://localhost:51946/Idea/Create
(红色框表示我希望链接到储蓄WebForm
)
储蓄WebForm
只是一个简单的计算器;如何将产品从计算中传递回上面的“创建”页面,以便它可以显示在底部文本框中?我猜它会作为智能控制器可以匹配的网址中的参数?但是......怎么样?
谢谢!
答案 0 :(得分:1)
因此,为了解决我的第一个问题,我将WebForms页面'Savings.aspx'移动到我的项目路线,并在MapRoute方法之后使用了MapPageRoute 。
routes.MapPageRoute(
"idea-savings-calculator",
"Idea/Savings",
"~/Savings.aspx"
);