2017-05-18 2 views
0

Aujourd'hui, je voulais ajouter un lien Détails à ma grille Grid.MVC. Le problème est: Il ne veut pas obtenir l'id -> par exemple Model.ID peut être listé, mais dans RenderValueAs, ce n'est pas un membre de x. J'ai essayé Model.id et modelitem.id ... Qu'est-ce que je fais mal?ASP.NET Grid.MVC Html.Actionlink ne veut pas travailler

Merci beaucoup!

Vue:

@ModelType IEnumerable(Of WebApplication2.Datenbank.Dezernate) 
@imports GridMVC.html 
@Code 
    ViewData("Title") = "Index" 
End Code 
<html> 
<head> 
    <title>Index</title> 
    <meta name="viewport" content="width=device-width" /> 
<link href="@Url.Content("~/Content/Gridmvc.css")" rel="stylesheet" /> 
<link href="@Url.Content("~/Content/bootstrap.min.css")" rel="stylesheet" /> 
    <script src="@Url.Content("~/Scripts/jquery-1.9.1.min.js")"></script> 
    <script src="@Url.Content("~/Scripts/gridmvc.min.js")"></script> 
</head> 
<body> 
    <div style="width:500px;"> 

     @Html.Grid(Model).Columns(Function(modelitem) 
             'Erstellt das Grid für die anzeige der Geräte 
             modelitem.Add(Function(model) model.ID).Titled("ID") 
             modelitem.Add(Function(model) model.Dezernat).Titled("Dezernato") 
             modelitem.Add(Function(model) model.Rechner).Titled("Rechner").SetWidth(20) 
             modelitem.Add(Function(model) model.Scan).Titled("Scan").SetWidth(20) 
             modelitem.Add().Encoded(False).Sanitized(False).RenderValueAs(Html.ActionLink("Details", "Details", New With {.id = Model.id})) <-- Here is the unknown Member Model.id 
            End Function 
            ).WithPaging(10).Sortable(True) 

Modèle:

Namespace Controllers 
Public Class HomeController 
    Inherits Controller 

    Private db As New TempDbContext 
    ' GET: Home 
    Function Index(ByVal id As Integer?) As ActionResult 
     Dim db As New TempDbContext 
     ViewBag.DropdownDezernate = New SelectList(db.Dezernate1, "ID", "Rechner") 
     Return View(db.Dezernate1.ToList()) 
    End Function 

    Function Details(ByVal id As Integer?) As ActionResult 
     If IsNothing(id) Then 
      Return New HttpStatusCodeResult(HttpStatusCode.BadRequest) 
     End If 
     Dim dezernate As Dezernate = db.Dezernate1.Find(id) 
     If IsNothing(dezernate) Then 
      Return HttpNotFound() 
     End If 
     Return View(dezernate) 
    End Function 

Répondre

0

n'a pas trouvé le doc pour la version VB, mais en C#, RenderValueAs prend un paramètre Func<T, string>.

So (désolé si ma syntaxe est erronée, mais je suppose que vous aurez l'idée)

RenderValueAs(Function(model) Html.ActionLink("Details", "Details", New With {.id = model.id})) 
+0

Maintenant, il montre aucune erreur et il a commencé le débogage! vut maintenant il montre quelque chose de bizarre: par exemple Details et pas de lien ... étrange – Arcurus

+0

nvm. oublié codé et désinfecté. Ça fonctionne maintenant! – Arcurus