2011-03-01 159 views
0

我有一个控制器,它看起来像这样:无法参数传递给asp.net的MVC控制器

public ActionResult Sold() 
     { 
      using (WipDBEntities db = new WipDBEntities()) 
      { 
       ViewData.Model = db.GetSummaryProiect("Test").ToList(); 
       return View(); 
      } 
     } 

这是工作,除了罚款时,我尝试从URL我的视图参数是空的

public ActionResult Sold(string PrjCode) 
     { 
      using (WipDBEntities db = new WipDBEntities()) 
      { 
       ViewData.Model = db.GetSummaryProiect(PrjCode).ToList(); 
       return View(); 
      } 
     } 

我是新来的mvc所以可能我做错了什么,你能帮我吗?

编辑

我要处理的路径这

 routes.MapRoute(
       "Componente", // Route name 
       "Componente/Sold/{PrjCode}", // URL with parameters 
       new { controller = "Componente", action = "Sold", PrjCode= "" } // Parameter defaults 
      ); 

的URL看起来像[hostname]/Componente/Sold/Test

+0

什么是URL? – 2011-03-01 16:34:06

+0

是否PrjCode为空或您的查询从数据库返回任何情况下...已售出(字符串PrjCode)? – 2011-03-01 16:45:19

+0

查询从数据库返回什么PrjCode没有正确的值 – Iulian 2011-03-01 16:49:19

回答

3

如果你期待的是价值从何而来?如果您使用的默认路由为{controller}/{action}/{id},并且您的值位于{id}占位符中,则操作方法上的参数名称必须为id

+0

我正在寻找与调试器和'PrjCode'var实际上有值“测试”但ViewData.Model是空的。 – Iulian 2011-03-01 16:48:35

+0

在你的问题中,你使用了“测试”的值,但是在你的评论中你使用了“测试”,是一样的套件(一个错字)还是一个返回值而另一个没有? – 2011-03-01 16:58:03

+0

这是我的评论中的拼写错误对不起,外壳是一样的 – Iulian 2011-03-01 17:03:53

相关问题