这里我们再次讨论排序中的下一个问题。
的后续问题我现在已经创建了一个包含我需要的数据的类型。 但是,当我尝试从gridview中获取数据时,它返回null,这意味着我无法对第一个不存在的任何东西进行排序......
为什么会返回null ...
IEnumerable<JointServerData> data = gvServers.DataSource;
var sorted = data;
switch (p)
{
case "domain":
sorted = data.OrderBy(o => o.DomainName);
break;
default:
break;
}
gvServers.DataSource = sorted;
gvServers.DataBind();
以上就是我要做的......
答案 0 :(得分:6)
如果没有看到所有代码,我必须假设这是一个PostBack问题。网站本质上是无状态的,您需要通过在页面请求之间缓存信息或每次检索数据来解决此问题。
答案 1 :(得分:6)
我同意马克。这似乎发生在回发之间。如果是这样,你就无法访问网格的数据源,因为在第一次绑定并将此网格渲染为html之后,你只会在回发时接收到html,而不是实际的数据源。您需要将数据源保存在会话中,或者在数据库的每次回发中获取它。
P.S。抱歉,伙计们,因为我丑陋的英语: - [
答案 2 :(得分:0)
尝试在Init事件中设置数据绑定。
答案 3 :(得分:-1)
要指出的其他事情是GridView不保留DataSource属性 填充了回发(因为它需要的性能原因
Teemu Keiski ASP.NET MVP,AspInsider 芬兰,欧盟
来自http://bytes.com/topic/asp-net/answers/828307-gridview1-datasource-null的或者您使用linq数据源进行yor linq查询。它会自动处理分拣过程。