我有一個視圖,我在調用ActionResult方法,但在方法中放置一個斷點告訴我它沒有被調用。ActionResult不被調用
<div>
<ul class="list-group">
@foreach (var item in Model)
{
<li class="list-group-item">
<h4>Slide ID: @item.SlideId</h4>
<p><i>Received: @item.TimeStamp</i></p>
<div class="row">
<div class="col-md-4">
<h4>@Html.ActionLink("View details", "Well", new {slideid = item.SlideId})</h4>
<img src="@Url.Action("Index", "Images", new {id = item.SlideId})"/> //This is where I want to call the method
</div>
</div>
</li>
}
</ul>
而這裏的方法:
public class ImagesController : Controller
{
// GET: Images
public ActionResult Index(string id)
{
byte[] imageData = new byte[0];
string cs = "Data Source=" + "some path";
using (SQLiteConnection con = new SQLiteConnection(cs))
{
string stm = "SELECT LastImage FROM Well WHERE SlideId = " + "'" + id + "'";
con.Open();
using (SQLiteCommand cmd = new SQLiteCommand(stm, con))
{
using (SQLiteDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
imageData = Serialize(rdr["LastImage"]);
}
rdr.Close();
}
}
con.Close();
}
return File(imageData, "image/png");
}
public static byte[] Serialize(object obj)
{
var binaryFormatter = new BinaryFormatter();
var ms = new MemoryStream();
binaryFormatter.Serialize(ms, obj);
return ms.ToArray();
}
}
我試圖實現與這個代碼是從數據庫中的圖像加載到該視圖。任何暗示我做錯了什麼?
與RouteConfig現在:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
當你進入圖片網址時,你會看到什麼? – jrummell
Id應該是整數。給參數另一個名字,如果你需要它是一個字符串。但是「Id」應該是整數 – blfuentes
@jrummell然後我得到一個404. ActionResult Index()永遠不會被調用。 – Khaine775