0
我有一個控制器行動以下我可以將MVC 3控制器操作中的Id參數用作複雜參數的Id嗎?
public class HomeController : BaseController
{
public JsonResult Index(ComplexObject customObject)
{
...
}
...
}
這是ComplexObject看起來像
public class ComplexObject
{
public int? Id { get; set; }
...
}
以下是我在我區註冊定義:
context.MapRoute(
"MyArea_default",
"MyArea/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new[] { "MyApp.Areas.MyArea.Controllers" }
);
我我試圖做的是訪問我的控制器動作,如
https://mysite.com/MyArea/ {} value_of_id
,並有我的ComplexObject ModelBinder的初始化中傳遞的ID的新ComplexObject。
這可能嗎?互聯網搜索沒有提供任何幫助。
非常感謝您的幫助!
我試過了。我得到一個404,我假設這是因爲我的參數不叫Id。 事實上,該請求甚至沒有達到我的自定義模型活頁夾。 – 2012-07-13 18:28:19
那麼,您的網址與您的路線註冊不符。問題不是複雜的對象,而是你的路由註冊要求你聲明控制器和操作。嘗試將其稱爲https://mysite.com/MyArea/Home/index/{value_of_id}。 – parKing 2012-07-13 18:30:38
你是對的,工作。我如何註冊路線,以便我的行動可以像 https://mysite.com/MyArea/{value_of_id} – 2012-07-13 18:42:15