我目前正在开发一个高级视图页面,该页面显示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();"})
}
答案 0 :(得分:0)
在这种情况下,没有理由使用帮助器。因为你想要的只是指向一个javascript函数。
更改
@Html.ActionLink("text", "Display", null, new { onclick = "return showfile();" })
要
<a href="#" onclick="return showfile();">text</a>
除非我遗漏了一些东西,否则这就是你所需要的。
答案 1 :(得分:0)
我在解决这个问题后解决了自己的问题...
我想基本上打开另一个视图和文件,这样用户就不会丢失他们当前所在的页面。
我废弃了所有的javascript,而是使用了这个:
<a href="..." target="_blank"></a>
这会在保持当前视图的同时在新窗口中打开文件。非常有趣这个解决方案实际上有多容易。谢谢你的帮助。