时间:2011-08-23 12:18:24

标签: grid mvccontrib visible

我正在使用MvcContrib网格,我想设置列的Visible属性,具体取决于所选Col列表中是否存在相应的col ID。在我的视图中,我创建了以下函数

@functions {

    public bool testFn(int colId, String[] str)
    {
        String temp = colId.ToString(); 
        if (Array.Exists(str, s => s.Equals(temp))) {
            return true; 
        } else {
            return false;
        }
    }
}

和str数组也定义如下

@{
var myStrArr = ViewBag.selCols as String[]; 
}

我正在从Grid的Visible方法调用函数,如下所示

Visible(testFn(0, myStrArr))

然而,该方法似乎完全忽略了返回的值。如果我将我的功能改为简单

public bool testFn(int colId, String[] str)
{
    String temp = colId.ToString(); 
    if (1 == 2) {
        return true; 
    } else {
        return false;
    }
}

然后从Visible方法调用它的方式完全相同,它似乎理解返回的false值。

有人可以帮我解决这个问题吗?我不确定我做错了什么。单步执行代码会显示返回值根据输入正确设置为true或false,但Visible方法似乎完全忽略了返回值。

由于

1 个答案:

答案 0 :(得分:0)

我现在已经解决了这个问题。事实证明,这根本不是Grid的问题。相反,我的Ajax调用中缺少一行,没有正确更新Grid。忘了添加    $(“#网格)的.html(数据); 在成功功能!

感谢Jeremy skinner为我查看该问题(在MvcContrib google群组)。非常感激。

谢谢大家。