在vs2008中GridView放在UpdatePanel中,其属性保存不了 比如:我在设计界面中给GridView1加了几个字段,但源界面里面不会同步更新。在vs2005中正常,vs2008打了sp1。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Ajax的本意是想实现局部刷新,你现在倒好,估计一个页面也就一个GridView,95%的局部都刷新了,还不如不用AJAX。 @zhoufoxcn,呵,何止是95%, <html><head><title>..</title><script src="..js" /><link href="..css" /></head><body><form><div> <asp:scriptmanager /> <asp:updatepanel> <contenttemplate><!-- 这三个table至少是占了页面的95.1% --> <table id="控制按钮条">..</table> <table id="编辑控件区">..</table> <table id="网格">..</table> </contenttemplate> </asp:updatepanel></div></form></body></html> 同意1楼的观点,完全可以在客户端生成表格。先回到这个问题上来,因为实际上是这样的 ajax 将前台控件的名称和值取出来,在后台发送请求到服务器段,服务器端收到数据以后,将控件名称和值解析出来,然后传递给 DataView 控件,DataView 再调用 data provider 中的方法,将数据更新到数据库中。关于你的问题,我们要检查几个地方,首先是页面上的控件是否可以传递到后台,DataView 是否能找到这些控件,是否可以将控件中的值更新到自己的数据结构中,还要检查 data provider 中更新的时候是否可以取到这些值,然后检查更新数据的 sql 有没有问题(因为如果你选择使用安全更新的话,它会将原先的值做到 where 里面,这些原先的值如果不正确的话也没有办法更新)。只是一个思路,楼主遇到的情况应该是有特殊的原因导致的,仔细检查一下代码和控件吧。 还有,楼主确有滥用 update panel 的嫌疑 @phoenix8343_cn这问题还在界面的设计阶段,<form id="form1" runat="server"> <div> <asp:GridView ID="sgvList" runat='server' AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False"> <!--此处OK, 跟着属性编辑器变了 --> <Columns><!-- 这是系统根据设计器自动生成的 --> <asp:BoundField /> <asp:BoundField /> <asp:BoundField /> </Columns> <PagerSettings Mode="NumericFirstLast" PageButtonCount="5" Position="Top" /> </asp:GridView> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:GridView ID="GridView1" runat="server"> <!--此处不会跟着属性编辑器变 --> <!-- 设计器中改了属性、也加了字段,但这里依然是空空的 --> </asp:GridView> <table width="100%" border="1"> <tr> <td> 我是依葫芦画瓢,访照人家用vs2005开发的例子。至于滥用ajax,只有学会了才能改进。 大家没遇到这问题?还是都没把GridView控件放到UpdatePanel中? 没遇到过。我几乎,没有用过GridView去开发 额。。这个。。为什么要纠结在这个问题上呢。就算在updatePanel里面没有出来,在外面设置好了以后,在copy到updatePanel里面就好了嘛 呵呵,误会你的意思了,这个肯定是VS的问题,你先检查一下其他的标签有没有问题(如果实在不知道怎么回事把 UpdatePanel 去掉,设计好 DataGrid 以后再加回来) 不管是什么原因,看来只能是顺者昌。------------------------------------#547楼[楼主] 回复 引用 查看 2010-03-08 12:19 by webabcd @方路如果是这样的话,就只能认定是IDE的bug了建议,直接在“源”视图编码#548楼 查看 删除 修改 2010-03-08 12:26 by 方路 嗯,应该是IDE的bug。奇怪的是,只有#537楼的scate一样见到此问题?难道很少人用ajax?现在把SmartGridView放到updatepanel外面了。当然也可以在外面编辑好再剪到里边,只是修改的时候剪来剪去很麻烦。#549楼[楼主] 回复 引用 查看 2010-03-08 13:11 by webabcd @方路呵呵,我原来倒是挺常用的不过只在“源”视图里写代码,基本不会在“设计”视图里开发 c# DNS缓存结合爬虫,如何开发???解析完,得到IP怎么用? 修改AssemblyInfo.cs中的AssemblyDescription 请高手把VB代码转换成C# Coolite.Ext.Web.MenuItem 动态添加 item 如何读取一个磁盘下指定后缀名的所有文件——在线等 数据库连接 private void listView1_SelectedIndexChanged 出错 rdlc报表中的sum函数。 求C#第三方控件比较强大的都有哪些》 请教两个问题 求一正则表达式,验证时间类型!!!!!!!! 【求助】 NeatUpload 做大文件上传 删除那个版权提示的步骤
<html>
<head>
<title>..</title>
<script src="..js" />
<link href="..css" />
</head>
<body>
<form>
<div>
<asp:scriptmanager />
<asp:updatepanel>
<contenttemplate><!-- 这三个table至少是占了页面的95.1% -->
<table id="控制按钮条">..</table>
<table id="编辑控件区">..</table>
<table id="网格">..</table>
</contenttemplate>
</asp:updatepanel>
</div>
</form>
</body>
</html>
这问题还在界面的设计阶段,
<form id="form1" runat="server">
<div>
<asp:GridView ID="sgvList" runat='server' AllowPaging="True"
AllowSorting="True" AutoGenerateColumns="False"> <!--此处OK, 跟着属性编辑器变了 -->
<Columns><!-- 这是系统根据设计器自动生成的 -->
<asp:BoundField />
<asp:BoundField />
<asp:BoundField />
</Columns>
<PagerSettings Mode="NumericFirstLast" PageButtonCount="5" Position="Top" />
</asp:GridView>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server"> <!--此处不会跟着属性编辑器变 -->
<!-- 设计器中改了属性、也加了字段,但这里依然是空空的 -->
</asp:GridView> <table width="100%" border="1">
<tr>
<td>
我是依葫芦画瓢,访照人家用vs2005开发的例子。至于滥用ajax,只有学会了才能改进。
------------------------------------
#547楼[楼主] 回复 引用 查看
2010-03-08 12:19 by webabcd
@方路
如果是这样的话,就只能认定是IDE的bug了
建议,直接在“源”视图编码
#548楼 查看 删除 修改
2010-03-08 12:26 by 方路
嗯,应该是IDE的bug。
奇怪的是,只有#537楼的scate一样见到此问题?难道很少人用ajax?现在把SmartGridView放到updatepanel外面了。
当然也可以在外面编辑好再剪到里边,只是修改的时候剪来剪去很麻烦。#549楼[楼主] 回复 引用 查看
2010-03-08 13:11 by webabcd
@方路
呵呵,我原来倒是挺常用的
不过只在“源”视图里写代码,基本不会在“设计”视图里开发