我正在尝试在 webgrid 中使用锚标记来调用 javascript 函数。我无法正确使用语法。这和我来的一样接近:
gridSpecs.Column(header: "", columnName: "", format: (item) => @:<a href="javascript:void(0);" onclick="DoSomeWork(@item.EquipmentId);">x</a>),
但是,VS IDE 仍然抱怨缺少括号。我试过用<text></text>
. 我也试过没有a:
and 和a:
(上面)。
我应该如何使用锚来调用我的 javascript 方法?
我什至尝试过 Html.ActionLink(),但这会调用服务器,我不想这样做:
@Html.ActionLink("x", null, new { id = item.Id }, new { onlick = "DoSomeWork();" })
如果有帮助,这里是整个 webgrid HTML:
<div class="webgrid-wrapper">
<div id="grid">
@gridSpecs.GetHtml(
tableStyle: "webgrid",
headerStyle: "webgrid-header",
footerStyle: "webgrid-footer",
alternatingRowStyle: "webgrid-alternating-rows",
columns: gridSpecs.Columns(
gridSpecs.Column(header: "", columnName: "", format: (item) => @:<a href="javascript:void(0);" onclick="DoSomeWork(@item.EquipmentId);">x</a>),
gridSpecs.Column("Equipment.EquipmentId", "ID"),
gridSpecs.Column("Equipment.Name", "Name"),
gridSpecs.Column("Equipment.LegacyEquipmentId", "Legacy ID")))
</div>
</div>
这是最终奏效的线路:
(希望这有助于节省其他人两个小时......)
gridSpecs.Column(header: "", columnName: "",
format: (spec) => MvcHtmlString.Create(string.Format("<a href='' onclick='DoSomeWork({0}); return false;'>x</a>", spec.Equipment.EquipmentId))),