我想基於TextBox
輸入在我的視圖中顯示大量圖像。基於文本框輸入顯示圖像
我有這個Controller
:
public ActionResult GetProducts(long id, Search obj)
{
GetSearchByDropdowns();
using (ThBEntities1 db = new ThBEntities1())
{
if (id == null) {
return View("Index");
}
byte[] image = db.Searches.Where(x => x.SearchTextBox == x.Product).SingleOrDefault().producturl;
var stream = new MemoryStream(image.ToArray());
return new FileStreamResult(stream, "image/jpeg");
}
return View("~/Views/Search/Index.cshtml", obj);
}
在我看來
if (Model.producturl != null)
{
for (int i = 0; i < 6; i++)--I only have 6 records
{
<img src='@Url.Action("GetProducts", "Search", new{ id = i })' />
}
}
而且我的模型
public partial class Search
{
public long ID { get; set; }
public string Product { get; set; }
public byte[] producturl { get; set; }
}
我收到此錯誤:
The parameters dictionary contains a null entry for parameter 'id' of non-nullable type 'System.Int64' for method 'System.Web.Mvc.ActionResult GetProducts(Int64, ThunderBird.Search)' in 'ThunderBird.Controllers.SearchController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.
我知道它來自GetProducts(long id, Search obj)
,但是如何將視圖中的模型作爲參數傳遞?
您是否檢查瀏覽器中呈現的URL格式是什麼?它對'i'具有約束力嗎? –
@SivaGopal,你的網址格式是什麼意思?來自'i'的值我將它作爲DataBase中ID的參數傳遞。 –
是否只有'Model.producturl'條件是GetProducts方法可用的唯一部分?由於'int'可能自動適合'long',因此'@ Url.Action'不應該成爲問題。還請在開發者控制檯的「網絡」標籤中查看請求的圖片網址 –