在Visual Studio 2017的Razor视图中将“ this”呈现为普通文本

时间:2018-11-28 01:49:57

标签: javascript razor this

我一直在尝试将this中的onclick和其他一些参数传递给Razor视图中的InsertNote()函数。

剃刀:

@{
  foreach (var item in Model.Notes) {
     <a href="#" onclick="InsertNote(@item.NoteNo, @item.NoteCode, this)">Save</a>
  }
}

JavaScript

function InsertNote(noteNo, noteCode, thisElement) {
  $(thisElement).doSomething();
}

如您所见,我已经传递了另外两个参数,并且this只是以某种方式呈现为普通文本。我希望能够在jquery中使用它来做一些事情。

有人知道如何解决这个问题吗?除了使用jquery的data-属性和此answer之外,还有其他解决方案吗?

1 个答案:

答案 0 :(得分:0)

结果证明一切正常。只是Razor将其渲染为文本。但是它仍然被作为this元素的a读取。 ew!

工作:

@{
  foreach (var item in Model.Notes) {
    <a href="#" onclick="InsertNote(@item.NoteNo, @item.NoteCode, this)">Save</a>
  }
}

仍在工作

@{
  foreach (var item in Model.Notes) {
    <a href="#" onclick="InsertNote(this)">Save</a>
  }
}