FormCollection检查是否为Null

时间:2013-04-16 14:34:32

标签: c# asp.net-mvc-4 formcollection

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

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

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

更多信息......此检查正在由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。

2 个答案:

答案 0 :(得分:2)

修复它:

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

如果myCollection.GetKey(0)为空,则在测试前调用myCollection

答案 1 :(得分:0)

你试过......

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

        return View();
}