0

在这个条件语句中,我尝试了最后一部分,以便在我的表单集合为空时尝试执行一段代码。

if ((myDT == null) || (myCollection.GetKey(0).ToString() == "heatSearch") || (myCollection == null))
{
    //some code here
}

每次我运行代码并且表单集合为空时,此时此条件应该为真,我的应用程序崩溃并且我收到此错误:索引超出范围。必须是非负数且小于集合的大小。

更多信息...此检查在 AJAX 帖子调用的 ActionResult 中执行。该帖子失败并在此处显示的此行返回错误: <b> Source File: </b> c:\Users\D\Documents\Visual Studio 2012\Projects\TheMProject(1)\TheMProject\Models\HomeModel.cs<b> &nbsp;&nbsp; Line: </b> 936

第 936 行是带有 if 的行。

4

3 回答 3

3

修理它:

if ((myDT == null) || (myCollection == null) || (myCollection.GetKey(0).ToString() == "heatSearch"))
{
    //some code here
}

myCollection.GetKey(0)在测试之前调用是否myCollection为空。

于 2013-04-16T14:45:04.210 回答
0

你有没有尝试过...

public ActionResult MyAction(FormCollection f)
{
    if (f.Count == 0)
        {
            Debug.WriteLine("Hello");
        }

        return View();
}
于 2013-04-16T14:42:15.903 回答
0
if ((myDT == null) || (myCollection == null) || (myCollection.Count > 0) )
{
    //some code here
}

是我会做的

于 2022-02-03T20:12:16.170 回答