小编phi*_*ilw的帖子

从UpdatePanel以编程方式强制完全回发

我在更新面板中有一个GridView.它是一个继承的asp:GridView,所以它有一个"导出我"的图标就是这样做的.它通过响应带有XLS文件的"导出"单击来工作.问题是,如果您将智能GridView放在更新面板中,ASP.NET认为XLS文件将写入面板,这显然不是我们想要的.为此,我每次都需要一个完整的回复.

我的更新面板都是以编程方式生成的

解决方案在这种精确的情况下不起作用(其中许多在SO的其他地方都有涉及):

  1. 在版本4之前的ASP.NET中,如果您将ID从控件中删除,它甚至可以在更新面板中执行完整的回发.我的问题是仅针对最新最好的.NET 4.

  2. ScriptManager.RegisterPostBackControl看起来很有前途.它确实使控制后期使用正确的面板ID作为事件目标,但是没有其他帮助.

  3. 将PostBackTrigger添加到"更新"面板.我的更新面板是以编程方式生成的,MS声明不支持此更新.我的测试表明他们是对的:我尝试过各种方式,但这不起作用.

  4. 我不太喜欢智能GridView不得不脱离自己的想法,但我试图让它在这些情况下在updatePanel之外添加一个额外的控件.通过客户端javascript重定向客户端单击面板内的导出按钮的想法,以模拟面板外部的该按钮的单击.但是这不起作用,因为我无法将"外部"控件添加到页面中 - 我得到"在DataBind,Init,Load,PreRender或Unload阶段无法修改控件集合".错误.

  5. 使用jQuery将"导出"控件移到面板外部.MS必须有一些他们认为在面板中"控制"的控件列表,并且DOM中的物理位置无关紧要.

有没有人有任何想法如何使这项工作?我知道很多这个应该有用,但那不是一回事.

c# asp.net updatepanel asp.net-ajax

6
推荐指数
1
解决办法
7628
查看次数

Asp.NET 4.0 GridView默认排序方向和表达式

Asp.net 4.0 gridView内置支持"排序箭头"保存了一些代码.默认情况下,当我们从数据库返回时,我的所有网格都会被排序,因此我应该通过使用ASP.NET SortedDescendingHeaderStyle-CssClass等来指示哪个列是默认排序的.

ASP.NET没有神奇地修饰默认排​​序列:它无法知道SQL指定的顺序.我可以使用正确的CSS类以声明方式或编程方式装饰相应的标题单元格...但是当我排序时,ASP.NET不会为我删除它.因此,目前我通过在第一个"排序"事件中遍历标题单元格来查找它.所以我有一些代码,我运行两次,一次添加箭头,一次在第一次手动排序,以删除它.这很复杂,几乎与整个工作一样多的工作是在4.0之前.

所以...我必须遗漏一些东西:有没有办法告诉ASP.NET GridView它的内容已经以一种避免必须手动添加然后删除该排序指示符的方式进行排序?

c# sorting gridview asp.net-4.0 sortdirection

4
推荐指数
1
解决办法
5000
查看次数