Javascript 来电被忽略

Javascript call is being ignored

我目前正在开发一个高级视图页面,该页面显示 Asp.NET MVC 中一组数据的结果。我遇到 javascript 的问题。 javascript我只用过少量,还在学习中。我的代码似乎直接通过调用。我知道在 if 语句中包含脚本很可能是可怕的编码,但这似乎是避免 NullReferenceException 的唯一解决方案。

此代码不仅用于将用户重定向到另一个页面,还用于打开文件。

     @if(item.PDFLink.GetValueOrDefault() != 0)
                    { 
                    <script>
                        function showfile() {
                            window.open(@Url.Action("PDF", new { byteData = @item.PDF.id }));
                            }
                    </script>
                    }
                    @if(item.PDFLink.GetValueOrDefault() != 0)
                    { 
                           @Html.ActionLink("text", "Display", null, new { onclick = "return showfile();"})
                    }

在这种情况下确实没有理由使用助手。因为你想要它做的就是指向一个 javascript 函数。

改变

@Html.ActionLink("text", "Display", null, new { onclick = "return showfile();" })

<a href="#" onclick="return showfile();">text</a>

除非我遗漏了什么,这就是您所需要的。

在对这个问题感到困惑之后,我解决了自己的问题...

我基本上想打开另一个视图和文件,这样用户就不会丢失他们当前所在的页面。

我放弃了所有 javascript,而是使用了这个:

<a href="..." target="_blank"></a> 

这会在新 window 中打开文件,同时保持我当前的视图。非常有趣的是,这个解决方案实际上是多么简单。谢谢你的帮助。