2015-09-06 18 views
0

我是ASP.NET MVC的新手,对此不太了解。我想从数据库中获取3个图像,从列表中选择项目并显示在网页上。我为列表框项目和表的主键设置了相同的Id。这里是我已经尝试过的代码,但它没有工作我应该做什么修改。 (图像的URL都存储在数据库中)从ASP.NET MVC中选择项目中的数据库获取图像

模型类:

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

包含尝试运行代码时得到的错误消息可能会有帮助。

然而,首先,你在哪里调用LetterPic网址:

<img src="@Url.Content(Model.LetterPic)"/>  

在你的控制器,你永远不会分配一个值obj.LetterPic。你也不会从数据库中提取UserDetailModel。相反,你正在创建一个新的UserDetailModel,这意味着所有的值都是空白的。

您可能会尝试在控制器中为obj.LetterPic分配一个值,然后将其返回到视图并查看是否解决了您的问题。

注意,控制器的第二部分,“return View(obj);”之后的所有内容也很重要。永远不会在你的控制器中运行。如果您需要运行VirtualSpeechTherapistEntities部分,则需要在返回之前完成。

相关问题