带有模型数据的 MVC 5 路由
Posted
技术标签:
【中文标题】带有模型数据的 MVC 5 路由【英文标题】:MVC 5 Routing with Model Data 【发布时间】:2014-10-13 16:06:07 【问题描述】:我有一个将模型数据发回控制器的 html 表单。
用户输入信息后,表单提交给Controller:U,Action:Arama
在提交时,我想创建一个包含用户输入模型数据的自定义 URL。
我的模特:
string Nereden
string Nereye
string NeredenKod
string NereyeKod
我想做的是在 URL 中只使用其中的 2 个数据,尽管我需要控制器中的完整模型。
我的意思是,我希望这个表单提交到这个 url(其余数据不会在 url 上):
localhost:34534/U/Arama/NeredenKod/NereyeKod
【问题讨论】:
【参考方案1】:假设你的动作是这样的:
public ActionResult SomeActionName(SomeModel modelName)
//Code here
你可以这样定义路由:
routes.MapRoute(
name: "SomeRouteName",
url: "StaticPath/modelName.NeredenKod/modelName.NereyeKod",
defaults: new controller = "SomeControllerName",
action = "SomeActionName"
);
确保将其置于默认路由之上。
【讨论】:
它不起作用,我把它放在默认路由之上。可能是因为首次渲染cshtml时模型为空 routes.MapRoute( name: "Arama", url: "ulasim/gelen.NeredenKod", defaults: new controller = "U", action = "Arama" ); @BurakGazi 你有没有试过在调试的控制器上放断点,看看模型对象是不是null
?以上是关于带有模型数据的 MVC 5 路由的主要内容,如果未能解决你的问题,请参考以下文章