2013-02-21 114 views
0

在jQuery中,我需要有这样的事情:asp.net的MVC:索引超出jQuery的范围内异常的

if (@(Model.ListItems.Count) > 0) 
      if ('@(Model.ListItems[0].Date)' != '') 
       ....... 

,当Model.ListItems.Count为0将无法正常工作,因为它会引发

索引超出范围

在异常的下一行。这样做是有道理的,因为表达式的评估,但我能做些什么来按照我的意图行事?

+0

你有一个调试器。设置合适的中断点并查看模型在达到该线时的状态。 – asawyer 2013-02-21 13:43:05

+0

你试图运行的jQuery代码是什么? – Pete 2013-02-21 13:49:39

+1

它在我写的第二行中断,实际上它应该中断,因为剃须刀表达式首先被评估。我的问题是要做什么,以防止 – 2013-02-21 13:50:31

回答

0

我终于想通了这一点:
代码变为:

@if (Model.ListItems.Count > 0) 
{ 
    if (Model.ListItems[0].Date!= null) 
     <text> 
      ...... 
     </text> 
} 
0

你混淆了你的客户端脚本和JavaScript。

为什么你会认为javascript if分支会影响服务器端代码剃须刀代码,因为它会在html响应中替换您的@(...)表达式?

您需要在剃须刀本身中执行分支逻辑,以便它执行服务器端。

+0

你是对的...我只是不知道该怎么做 – 2013-02-21 14:04:13

相关问题