簡體   English   中英

在 ASP.net MVC3 中如何在 WebGrid 中提供鏈接

[英]In ASP.net MVC3 how to provide an link in the WebGrid

在 ASP.NET MVC3 中,我使用 Webgrid 來填充數據。 我有一列,我希望該列中的數據具有操作鏈接。 我的表看起來像這樣

Roll No | StudentName  |  Class |  Course  |         |
======================================================
110     |  XY          |   5    |   Science| ViewDetails

我想提供指向行中每個 ViewDetails 的鏈接,以便移動到所需的操作。同時我想將一個值為 RollNo 的值傳遞給操作。 這是如何實現的。 我試過這樣的事情。

var grid = new WebGrid(source: Model, canPage: true, rowsPerPage: 10);
    grid.Pager(WebGridPagerModes.NextPrevious);
    @grid.GetHtml(tableStyle: "grid", 
        htmlAttributes: new { id = "DataTable" }, 
        headerStyle: "grid-header", 
        footerStyle: "grid-header", 
        alternatingRowStyle: "grid-alternating-row", 
        selectedRowStyle: "grid-selected-row", 
        rowStyle: "grid-row-style", 
        columns: grid.Columns(
           grid.Column(columnName: "RollNo", header: "RollNo"), 
           grid.Column(columnName: "StudentName", header: "StudentName"), 
           grid.Column(columnName: "Class", header: "Class"), 
           grid.Column(columnName: "Course", header: "Course"),
           grid.Column(header: "",
                  format:item => 
                    new HtmlString(Html.ActionLink("ViewDetails","Home")))); 

用這個糟糕的語法來做:

grid.Column(
    header: "Link", 
    format: @<text>@Html.ActionLink("ViewDetails", "Home")</text>)

<text>塊中,您可以通過使用變量item來訪問當前行,如下所示:

format: @<text>@Html.ActionLink(item.Text, "Home")</text>

你可以只使用 HTML.Raw()

grid.Column(header: "",
                  format:item => 
                    HTML.Raw(Html.ActionLink("ViewDetails","Home")))); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM