2012-01-05 13 views
0

を呼び出すことはありません。私は、コードを次ていますUrl.Actionアクション

ビュー:

<li> 
    <a href="<%=bannerImage.Url%>"> 
    <img src='<%=Url.Action("GetImage", "Image", new {imageName = bannerImage.Image})%>'></a> 
</li> 

をコントローラー:

public ActionResult GetImage(string imageName) 
{ 
    var folder = ConfigurationManager.AppSettings["ImagesFolder"]; 
    return File(folder + imageName, "image/jpg"); 
} 

GetImage発射することはありません。
エラーはどこですか?

FireBagメッセージ:"NetworkError: 500 Internal Server Error - http://localhost:8178/error?action=GetImage&controller=Image&imageName=9bbc2035-f753-4212-985b-b6e689150529.Jpeg"

EDIT:
マイルート:

routes.MapPageRoute("Error", "error", "~/Error.aspx"); 

      routes.MapRoute(
       "Cinema Full", // Route name 
       "{city}/cinema/{id}/{action}/{subaction}", // URL with parameters 
       new { city = "astana", controller = "Cinema", action = "Overview", subaction = UrlParameter.Optional }, // Parameter defaults 
       new { city = new CityConstraint() } 
      ); 

      routes.MapRoute(
       "Cinema", // Route name 
       "{city}/cinema", // URL with parameters 
       new { city = "astana", controller = "Cinema", action = "Index" }, // Parameter defaults 
       new { city = new CityConstraint() } 
      ); 

      routes.MapRoute(
       "Default", // Route name 
       "{controller}/{action}/{subaction}", // URL with parameters 
       new { controller = "Home", action = "Index", subaction = UrlParameter.Optional } // Parameter defaults 
      ); 
+0

あなたのルーティング設定はglobal.asaxにありますか? – PanJanek

+0

さて、あなたの 'CityConstraint'クラスのコードも表示する必要があります。 – tugberk

答えて

0

私は、URLヘルパーコールUrl.Action( "のgetImage"、 "画像"、新しい{imagenameの= bannerImage考えます.Image})は、最初のルーティング設定を使って間違ったURLを生成します。経路を追加してみてください(初めに):

routes.MapRoute(
     "ImageGen", // Route name 
     "images/{imageName}", // URL with parameters 
     new { controller = "Image", action = "GetImage"} // Parameter defaults 
    ); 
関連する問題