0

以下のコードを実行してください。グリッドの下に、ハイパーリンクのある列があります。特定のリンクをクリックしたときに剣道ウィンドウを開きたいです。どうすればこれを達成できますか。現在、他のページに移動しています。

@model IEnumerable<WeBOC.Support.Entities.ImportUnit>

@{
    ViewBag.Title = "Import Units";
}

<h2>Import Units</h2>

@(Html.Kendo().Grid(Model)
    .Name("Grid")
    .Columns(columns =>
    {
        columns.Bound(p => p.UnitNbr).Width(150).ClientTemplate(@Html.ActionLink("#=UnitNbr#", "UnitInspector", new { id = "#=UnitId#" }).ToHtmlString()).Title("Unit No.");
        columns.Bound(p => p.VIRNbr).Width(150).Title("VIR No.");
        columns.Bound(p => p.BLNbr).Width(150).Title("BL No.");
        columns.Bound(p => p.IGMStatus).Width(80).Title("IGM Status");
        columns.Bound(p => p.LineCode).Width(80).Title("Line Code");
        columns.Bound(p => p.Arrived).Format("{0:dd/MM/yyyy HH:mm}").Width(150).Title("Arrived"); 
    })    
    .Groupable()
    .Pageable()
    .Sortable()
    .Filterable()    
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(20)
        .ServerOperation(false)
    )
)
4

3 に答える 3

0

クライアント テンプレートを a 要素などの単純な html 要素に変更し、ウィンドウを開くこの要素に JavaScript 関数を割り当ててみませんか?

...
columns.Bound(p => p.UnitNbr).Width(150).ClientTemplate("<a id="myId>Unit No.</a>);
...

そしてjqueryを使用します:

$("#myId").click(function() {
    $("#kendoWindow").data("kendoWindow").open();
});
于 2013-10-01T12:03:37.807 に答える
0

リンクが css クラスを持つようにテンプレートを調整します。

columns.Bound(p => p.UnitNbr).Width(150).ClientTemplate(@Html.ActionLink("#=UnitNbr#", "UnitInspector", new { id = "#=UnitId#" }, new { @class="someclass" }).ToHtmlString()).Title("Unit No.");

次に jQuery を使用します。

$(document).on("click", ".someclass", function (e) {
    e.preventDefault();
    var address = $(this).attr("href");
    $("<div/>").kendoWindow({ 
        content: address 
    }).data("kendoWindow").open();
});
于 2013-10-05T21:57:11.330 に答える