内联javascript解析错误中的Razor表达式

时间:2014-02-05 06:53:04

标签: javascript razor

我在Visual Studio 2012(Visual Basic)ASP.NET MVC4项目中写作。

这是我的代码:

<input type="button" value="EDIT" onclick="MngMCRItem('@Url.Action("EditMCRItem", "MCRForm", Nothing)', {doc_id : '@Model.DOC_ID', item_id : @itm.ITEM_ID_IN_DOC}, this.value)"/>

此代码导致编辑器显示错误

  

未终止的字符串常量。预期')'。

有没有更好的方法来重写我的代码?提前感谢你的建议。

编辑
目前,我使用Visual Studio 2013的Resharper 8.2.1问题已经消失。

2 个答案:

答案 0 :(得分:0)

这里有双引号和单引号的问题:

onclick="MngMCRItem('@Url.Action("EditMCRItem", "MCRForm", Nothing)'

你在这里打开双引号 - &gt; "MngMCRItem('@Url.Action("&lt; - 此处已关闭 所以命令的下一部分无法理解......

答案 1 :(得分:0)

@Alex Art,您是否尝试将我的代码段放入Visual Studio编辑器中,看看发生了什么?从这个背景来看,我相信我没有犯错误。所以,我将在下面提供更清晰的片段,我认为这很明显。

@Code
  Dim testing As String = "Hello World!"
End Code

<script type="text/javascript">
  var test = {
    foo : '@Html.Hidden("helloWorld", testing)', // This is perfectly OK
    bar : 'testing'
  };
</script>

<input type="text" name="inpTesting" value="test" onclick="alert('@testing');" /> <!--ERROR in inline js-->
<input type="text" name="inpTesting" value="" onclick="alert('Hello World!');" /> <!--Server-Compiled(result) Code when using some browser 'view page source'-->