webgrid内でアンカータグを使用してjavascript関数を呼び出そうとしています。構文が正しくわかりません。これは私が来たのと同じくらい近いです:
gridSpecs.Column(header: "", columnName: "", format: (item) => @:<a href="javascript:void(0);" onclick="DoSomeWork(@item.EquipmentId);">x</a>),
ただし、VSIDEはまだ括弧がないことについて不平を言っています。アンカータグをでラップしてみました<text></text>
。a:
また、a:
(上記)を使用せずに使用してみました。
アンカーを使用してjavascriptメソッドを呼び出すにはどうすればよいですか?
Html.ActionLink()を試したこともありますが、サーバーが呼び出されるので、それを実行したくありません。
@Html.ActionLink("x", null, new { id = item.Id }, new { onlick = "DoSomeWork();" })
それが役立つ場合は、ここにWebgridHTML全体があります。
<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>
これが最終的に機能した行です。
(これが他の誰かを2時間節約するのに役立つことを願っています...)
gridSpecs.Column(header: "", columnName: "",
format: (spec) => MvcHtmlString.Create(string.Format("<a href='' onclick='DoSomeWork({0}); return false;'>x</a>", spec.Equipment.EquipmentId))),