提问人:zeifi 提问时间:9/6/2015 最后编辑:marc_szeifi 更新时间:9/6/2015 访问量:46
在 MVC 中选择项目时从数据库中获取图像 ASP.NET
Fetching images from database on the selection of item in ASP.NET MVC
问:
我是 MVC 的新手 ASP.NET 对它了解不多。我想从数据库中获取 3 张图像,从列表中选择项目并显示在网页上。我将列表框项的 Id 和表的主键设置相同。这是我尝试过的代码,但它不起作用,我应该进行什么修改。(图像的URl存储在数据库中)
模型等级:
public class UserDetailModel
{
public string LetterId { get; set; }
public string LetterPic { get; set; }
public string LetterRecord { get; set; }
public string LetterWord { get; set; }
public string LetterWord_Pic { get; set; }
public string LetterWordRecord { get; set; }
[Display(Name = "LetterDetail")]
public List<LetterList> letterDetail;
[Display(Name = "selectedLetter")]
public string selectedLetter { get; set; }
}
public class LetterList
{
public string listId { get; set; }
public string listName { get; set; }
}
控制器:
public ActionResult letter(string SelectedLetter)
{
demo.Models.UserDetailModel obj = new demo.Models.UserDetailModel();
obj.letterDetail = new List<LetterList>()
{
new LetterList() { listId = "1", listName = "A" },
new LetterList() { listId = "2", listName= "B" },
new LetterList() { listId = "3", listName= "C" },
new LetterList() { listId ="4", listName= "D"}
};
return View(obj);
using (var context = new VirtualSpeechTherapistEntities())
{
var hurf = from b in context.hurf_e_tahaji
where b.Letter_Id = SelectedLetter
select b;
return View("letter", context);
};
主键应该等于选定的listItem id,where子句写什么?//
视图:
@model demo.Models.UserDetailModel
@Html.ListBoxFor(obj => obj.selectedLetter, new SelectList (Model.letterDetail, "listId","listName")) ;
@Html.Id(Model.selectedLetter);
<img src="@Url.Content(Model.LetterPic)"/>
答:
0赞
Daniel Congrove
9/6/2015
#1
包含尝试运行代码时收到的错误消息可能会有所帮助。
但是,首先,您调用 LetterPic Url 的位置:
<img src="@Url.Content(Model.LetterPic)"/>
在控制器中,您永远不会为 obj 赋值。字母图片。您也不会从数据库中提取 UserDetailModel。相反,您正在创建一个新的 UserDetailModel,这意味着所有值开始时都是空白的。
您可以尝试为 obj 赋值。LetterPic,然后再将其返回到视图,看看这是否解决了您的问题。
同样重要的是要注意,控制器的第二部分,“return View(obj);”之后的所有内容都不会在控制器中运行。如果需要运行 VirtualSpeechTherapistEntities 部件,则需要在执行返回之前完成。
评论