2016-04-17 16 views
2

Ich habe eine Tabelle namens Buch:Wie teilt man einen Wert aus der Datenbank in Sicht?

public partial class Book 
{ 
    public Book() 

    [Key] 
    public int Book_id { get; set; } 

    [Required] 
    [Display(Name = "Title Name")] 
    [StringLength(70,MinimumLength =3)] 
    public string Book_name { get; set; } 

    [Display(Name = "Edition")] 
    [Range(1, 20)] 
    public int Edition { get; set; }  


    [StringLength(50)] 
    [Display(Name = "Author Name")] 
    public string Author_name { get; set; } 



} 

In dieser Tabelle ein Attribut namens author_name.

author_name in der Regel speichere ich in ihm wie Werte:

Name1,Name2,Name3 

und meiner Ansicht nach habe ich versucht, es ist Wert zu teilen einen bestimmten Link zu jedem zu machen, aber ich nicht, das zu tun .. Hier ist mein Ansicht Code:

@model SmartBookLibrary.ViewModel.BooksDetailsVm 

@{ 
    ViewBag.Title = Model.Book.Book_name; 

    var s = Model.Book.Author_name.ToString(); 
    string[] Auth= s.Split(','); 
} 
<div class="container"> 

    <div class="row"> 
        <p itemprop="author"><i class="glyphicon glyphicon-pencil"></i> <b>Author Name :</b> 
@foreach(var val in Auth){ 
<a style="color:#777777" href="~/Author/@Model.Book.Author_name">@Auth.ToString();</a> 
} 

</p><hr>   </div>                    </div> 

Also, wenn ich das Ergebnis überprüfen, ist es nicht etwas Druck oder einen Fehler zeigt .. wie das lösen und dank ..

+1

nicht verwenden Code in der Ansicht so und verwenden Sie keine Entity-Modelle als Viewmodels. Führen Sie ein separates Ansichtsmodell ein, das die Eigenschaften enthält, die Sie anzeigen möchten. – CodeCaster

+0

Eigentlich verwende ich ViewModel nur, wenn ich Daten aus gemischten oder mehr als einer Tabelle gesammelt habe ... aber in Bezug auf Daten aus einer Tabelle oder direkt, verwende ich das Modell direkt .. ist das ein Problem oder was? –

Antwort

2

auf diese Weise versuchen:

@{ 
    //var s = Model.Book.Author_name.ToString(); 
    var s = "Nazmul,khadiza,nowrin"; 
    string[] Auth = s.Split(','); 
} 
<div class="container"> 

    <div class="row"> 
     <p itemprop="author"> 
      <i class="glyphicon glyphicon-pencil"></i> <b>Author Name :</b> 

     @for (int i = 0; i < Auth.Length; i++) 
     { 
      <a style="color:#777777">@Auth[i];</a> 
     } 

     </p><hr> 
    </div> 
</div> 

oder wenn Sie .ToString() auf einem Array aufrufen System.String[] kehrt so Wenn Sie jeden Wert in dem Feld angezeigt werden soll versuchen Sie dies:

@foreach (string val in Auth) 
      { 
       <a style="color:#777777">@val;</a> 
      } 

Ausgabe: enter image description here

+0

Danke, Deine Lösung löse es :) –

Verwandte Themen