2016-08-08 32 views
0

Ich brauche Fehlermeldungen in gridview zu platzieren, wie kann ich dies tunPlatzierung Fehlermeldungen in gridview

public class EmployeeMetadata 
    { 
     [Required] 
     [StringLength(20,ErrorMessage="First Name must be less than 20 characters.")] 
     public string FirstName { get; set; } 

     [Required] 
     [StringLength(20, ErrorMessage = "Last Name must be less than 20 characters.")] 
     public string LastName { get; set; } 

     [Required] 
     [StringLength(10, ErrorMessage = "Country must be less than 10 characters.")] 
     public string Country { get; set; } 
    } 

Antwort

0

Wenn Sie eine Gridview füllen müssen, dann müssen Sie weg von String-Verkettungen und beginnen in einer OOP denken Weg.

Grid kann mit jedem Konstrukt bevölkert werden, die IEnumerable implementiert, so können Sie dies tun:

VB:

Dim ListOfErrors as New List(Of MyError) 

C#:

List<MyError> ListOfErrors = new List<MyError>(); 

Wo MyError (minimal) ist definiert wie:


VB:

Class MyError 
    Public Property RowNumber as Int32 = 0 
    Public Property Error as String = String.Empty 
End Class 

C#:

class MyError 
{ 
    public int RowNumber { get; set; } 
    public String Error { get; set; } 
} 

wie Sie dann Fehler finden, anstatt eine verkettete Zeichenfolge zu bauen, können Sie die Liste stattdessen füllen:

VB:

Dim AnError as New MyError 
AnError.RowNumber = i 
AnError.Error = "Some error" 

ListOfErrors.Add(AnError) 

C#:

MyError AnError = new MyError(); 
AnError.RowNumber = i; 
AnError.Error = "Some error"; 

ListOfErrors.Add(AnError); 

Und wenn Sie finden, Fehler gemacht, Binden Sie die Liste an die Gridview

VB:

// this will autogenerate columns for all public properties in MyError 
Gridview1.AutoGenerateColumns = True 

// attach List 
Gridview1.DataSource = ListOfErrors 

// Bind 
Gridview1.DataBind() 

C#:

Gridview1.AutoGenerateColumns = true; 
Gridview1.DataSource = ListOfErrors; 
Gridview1.DataBind(); 
+0

Ich muss es mit C# –

+0

tun :) - um ... allll-righty dann ... brb – fnostro

+0

hoffe dies verdeutlicht, wie VB in C# – fnostro