解决方案 »
- 求助:木有办法跑来这边问问看,希望能得到答复
- dropdownlist联动问题
- DataReader 读不出数据!
- 在textbox中随便输入一个文件夹路径,如何判断该文件夹是否存在?
- 求类似http://www.viewslip.net首页的导航菜单资料
- 控件数组怎么用?
- 获取客户端屏幕分辨率,和一些其他信息的方法?
- 关于AD更新的疑惑 UserPrincipal和用username查询到的结果路径实例化的DirectoryEntry
- 求一asp连sql server代码,完整的,谢谢
- Internet与Intranet的区别?
- 浏览器后退,不允许用户操作,解决一半
- UpdatePanel控件+trimer刷新的问题
异步回调,在后台动态生成Datagridview的HTML源码
直接在后台拼成表格的html代码返回就可以
表格中的数据项点击 依然是根据参数用ajax取拼好的html显示就可以
基本上就是上面说的。
可以自己组装一个DataTable然后绑定到控件上啊。
using AjaxPro;protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(类名));//注册类型
if (!IsPostBack)
{
Session["标识"] = this;
}
}#region 【获取数据(AJAX)】
[AjaxPro.AjaxMethod(HttpSessionStateRequirement.ReadWrite)]
public string GetGridView1(参数列表)
{
//……
//从数据库获取数据
//初始化GridView,可以在此更改GridView外观及行为
//更改__doPostBack内容,使其指向前台javascript方法,如上下页操作或排序,最终将会调用fillGridView1方法进行GridView的填充
StringBuilder sb = new StringBuilder();
StringWriter stWriter = new StringWriter(sb);
HtmlTextWriter htmlWriter = new HtmlTextWriter(stWriter);
((类名)Session["标识"]).GridView1.RenderControl(htmlWriter);//仅演示,session要提前验证提取
return sb.ToString();
}
#endregion 【获取数据(AJAX)】//同理可以写出初始化其他GridView的方法
<div id=DivGridView1>
<asp:GridView ID="GridView1">
……
</asp:GridView>
</div><div id=DivGridView2>
<asp:GridView ID="GridView2">
……
</asp:GridView>
</div>function fillGridView1(参数列表,如当前页数、过滤条件、排序字段等)
{
var strResponse = 类名.GetGridView1(参数列表)
}//同理可以写出填充GridView2的方法//其他GridView排序、过滤等javascript方法
//……
function fillGridView1(参数列表,如当前页数、过滤条件、排序字段等)
{
var strResponse = 类名.GetGridView1(参数列表)
DivGridView1.innerHTML = strResponse;
}//同理可以写出填充GridView2的方法//其他GridView排序、过滤等javascript方法
//……
2.ajax用updatepanel
javascript方法 通过ajax调用cs中的方法 在cs中再把前台javascript相关方法绑定到相关的操作中GridView的基本样式格式还是要在ASPX中定义好,在CS的ajax方法中基于这些再进行改动,这样比较省事一些。
这个类名是什么? Ajax 没有用过!!不过可以尝试使用解决问题!!谢谢指点!!
简单说明:
添加AjaxPro.dll控件
在.cs代码注册:AjaxPro.Utility.RegisterTypeForAjax(typeof(LinkService));
LinkService是你要调用的方法所在的类
在方法前面加[AjaxPro.AjaxMethod],当然也可以加其他,如命名空间等.
[AjaxPro.AjaxMethod]
public String GetList()
{
List<MagazineType> list = //取数据源
tablebegin = "<table border=\"1\" cellpadding=\"1\" cellspacing=\"0\">";
tableend = "</table>";
StringBuilder sb = new StringBuilder();
for (int i = 0; i < list.Count; i++)
{
sb.Append("");//打印出要的table
}
contentlist = tablebegin + sb.ToString() + tableend;
return contentlist;
}然后在aspx页面里调用方法把动态生成的table写进去就可以了
function getlist(){
LinkService.GetList(function(message){
if(message.error==null)
{
document.getElementById("contentlist").innerHTML=message.value;
}
else
{
alert(message.error.Message)
}
})
}
window.onload=function(){
getlist();
}
页面放一个div
<div id="contentlist">
错误 2 类、结构或接口成员声明中的标记“)”无效 d:\My Documents\Visual Studio 2008\Projects\WebApplication1\WebApplication1\WebForm2.aspx.cs 20 60 WebApplication1
测试 AjaxPro.Utility.RegisterTypeForAjax(typeof(类名));//注册类型
2.AjaxPro.Utility.RegisterTypeForAjax(typeof(类名));这句代码要放在方法里面
3.确保你的类是可以访问的(public)
你的類名應該是WebForm2吧。
{
var strResponse = 类名.GetGridView1(参数列表)
}这个卸载页面那里? 如何执行? 还有如何填充Datagridview
{
var strResponse = 类名.GetGridView1(参数列表)
DivGridView1.innerHTML = strResponse;
}//同理可以写出填充GridView2的方法//其他GridView排序、过滤等javascript方法
//……
那太感谢了!!以前都在做WINFORM,ASP.NET这个生的很!![email protected]
序号 附件名称 附件描述 备注
1 USERADD.aspx 添加用户 是最简单的AJAXPRO应用,建议先看这个
2 USERADD.aspx.cs
3 FilePlayList.aspx 列表形式查看内容,并可进行相关操作 是涉及到GRIDVIEW的应用,有点小复杂,这个例子中我用了一些别的控件,你那边可能没有
4 FilePlayList.aspx.cs
5 AjaxPro.2.dll AJAXPRO的连接库
1.引用库
2.在Page_Load注册类型
3.在cs中,写AjaxPro的方法
4.在aspx的javascript方法中调用此AjaxPro方法获取结果,将结果显示到页面中
那只能在AJAX方法返回內容前,進行套入,將GRIDVIEW一層層放入到父GRIDVIEW中,然後再回發。
<br />
<div id="Dgv1">
<asp:DetailsView ID="DetailsView1" runat="server" Height="59px" Width="878px" BackColor="White"
BorderColor="#999999" BorderStyle="None" BorderWidth="1px" CellPadding="3" GridLines="Vertical">
<FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
<RowStyle BackColor="#EEEEEE" ForeColor="Black" />
<PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
<HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="#DCDCDC" />
</asp:DetailsView>
</div>
<br />
<div id="Dgv2">
<asp:DetailsView ID="DetailsView2" runat="server" Height="59px" Width="878px" BackColor="White"
BorderColor="#999999" BorderStyle="None" BorderWidth="1px" CellPadding="3" GridLines="Vertical">
<FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
<RowStyle BackColor="#EEEEEE" ForeColor="Black" />
<PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
<HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="#DCDCDC" />
</asp:DetailsView>
</div>
<br />
<div id="Dgv3">
<asp:DetailsView ID="DetailsView3" runat="server" Height="59px" Width="878px" BackColor="White"
BorderColor="#999999" BorderStyle="None" BorderWidth="1px" CellPadding="3" GridLines="Vertical">
<FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
<RowStyle BackColor="#EEEEEE" ForeColor="Black" />
<PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
<HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="#DCDCDC" />
</asp:DetailsView>
</div>
能否帮忙制作一个小DOME?
<asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None"
Height="157px" Width="874px">
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<Columns>
<asp:TemplateField HeaderText="统计时间">
<ItemTemplate>
<a href="WebForm2.aspx?Time=<%# Eval("vehDetectionTime") %>">
<asp:Label ID="lblTime" runat="server" Font-Bold="True" Text='<%# Eval("vehDetectionTime") %>'></asp:Label>
</a>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="vehOverLong" HeaderText="统计长" />
<asp:BoundField DataField="vehOverWide" HeaderText="统计宽" />
<asp:BoundField DataField="vehOverHigh" HeaderText="统计高" />
</Columns>
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#999999" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
</asp:GridView>
</div>
<asp:Label ID="lblTime" runat="server" Font-Bold="True" Text=' <%# Eval("vehDetectionTime") %>'> </asp:Label>
</a> 獲取的另外一個GridView的內容的嗎?
2 第三方控件,如MagicAjax等
3 自己写Ajax
回發了,所以就沒了,不能回發,需要用javascript方法替代這個操作,通javascript方法完成這個操作。