关于动态生成table的问题。

问题描述

在后台查询出一个list的数据publicpartialclassDefault2:System.Web.UI.Page{publicIList<string>list{get;set;}publicvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){DataTabledt=newDataTable();DataColumndc1=newDataColumn("Name",Type.GetType("System.String"));dt.Columns.Add(dc1);DataRowdr1=dt.NewRow();dr1["Name"]="王八dfasdfa";dt.Rows.Add(dr1);DataRowdr2=dt.NewRow();dr2["Name"]="王九sdfsdf";dt.Rows.Add(dr2);DataRowdr3=dt.NewRow();dr3["Name"]="王十aaaaa";dt.Rows.Add(dr3);list=newList<string>();for(inti=0;i<dt.Rows.Count;i++){list.Add(dt.Rows[i]["Name"].ToString());}}}

然后前台用<divid="inputBox"width="120px"><inputtype="text"runat="server"id="s_custname"name="s_custname"onkeyup="keyup()"onfocus="show()"onchange="change()"onblur="hide()"/></div><!--onpropertychange="show()"--><divid="listBox"style="position:absolute;"><ul><%foreach(varstriteminlist){%><lionmousedown="setValue('<%=stritem%>')"><%=stritem%></li><%}%></ul></div>

循环绑定做成点击文本框出现选择列表的效果。然后现在要做的是根据文本框选择的数据传到后台查询相关的数据动态生成一个table显示到页面。请问我怎么做?求大神贴出代码。还有就是为什么只要页面上的button按钮被点击提交时,这个循环列表就会报错。

解决方案

解决方案二:
引用楼主qq_27283461的回复:

然后现在要做的是根据文本框选择的数据传到后台查询相关的数据动态生成一个table显示到页面。请问我怎么做?求大神贴出代码。还有就是为什么只要页面上的button按钮被点击提交时,这个循环列表就会报错。

1:报错应该是这句if(!IsPostBack){//...}引起的。点击按钮后,这个时候list 没有值。你这里的list绑定可以用Repeater控件,这样应该就不会出现报错的现象。2:生成table,可以试试当文本选择改变时,进行事件处理。
解决方案三:
1用C#拼装TABLE,然后页面输出2C#把数据封成json格式传送到页面,用JS遍历json再生成table
解决方案四:
if(!IsPostBack)这段去掉
解决方案五:
你可以用asp:table而不是table这样就可以后台代码给table添加tablerow和tablecell
解决方案六:
我只能说你的需求最终会因IsPostBack搞得很凌乱,从需求来选择解决方法,你适合用ajax或jquery根据文本框内容向后台请求数据,后台专门写个一般处理程序来负责前台请求的json数据,最重要的是用户的使用体验会更好,服务器的负担也相应减轻。
解决方案七:
引用5楼ajianchina的回复:

我只能说你的需求最终会因IsPostBack搞得很凌乱,从需求来选择解决方法,你适合用ajax或jquery根据文本框内容向后台请求数据,后台专门写个一般处理程序来负责前台请求的json数据,最重要的是用户的使用体验会更好,服务器的负担也相应减轻。

主要是没用过json数据,算是小白。

时间: 2024-09-20 00:16:26

关于动态生成table的问题。的相关文章

JQuery Ajax动态生成Table表格_AJAX相关

前言: 本示例大概功能是前台通过JQuery的Ajax调用一般处理程序(Handler),获取表格需要显示的信息,然后转换成json格式返回给前台,前台获取到数据后循环构建表格的行,最好把行附加到表里. 目标: a 熟悉简单JQuery Ajax的使用 b 了解如何构造基本的Json格式的数据(构建Json也可以通过第三方的dll) c 熟悉下handler的基本用法 1 简单效果图 2 前台代码 <%@ Page Language="C#" AutoEventWireup=&q

JQuery 动态生成Table表格实例代码_jquery

JQuery动态生成Table表格 主要用到了JQuery中的append和appendto的方法,具体代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type&quo

JQuery Ajax动态生成Table表格

前言: 本示例大概功能是前台通过JQuery的Ajax调用一般处理程序(Handler),获取表格需要显示的信息,然后转换成json格式返回给前台,前台获取到数据后循环构建表格的行,最好把行附加到表里. 目标: a 熟悉简单JQuery Ajax的使用 b 了解如何构造基本的Json格式的数据(构建Json也可以通过第三方的dll) c 熟悉下handler的基本用法 1 简单效果图 2 前台代码 <%@ Page Language="C#" AutoEventWireup=&q

动态生成table中的checkBox,并访问它?

问题描述 想在1.asp页面中<buttonid='cTab'/><checkBoxid='chk'text="全选/取消全选"/><tableid='tab123'/>botton按钮用于动态添加<tr><td><asp:checkBoxid='字段表ID'/></td></tr>入tab123中.在按buuton之后,生成表设checkBox的事件chk123_CheckedChange

动态生成table并实现分页效果心得分享_实用技巧

前台代码: 复制代码 代码如下: <table style="width: 100%;"> <tr> <td> 搜索字: <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="搜索&

急急急!!!c#动态生成表格时遇到的怪问题

问题描述 动态生成表格,本来应该是类似如下形式:14TimestampTrue----------------------------15TimestampTrue----------------------------16TimeTrue----------------------------但现在遇到的情况时当数据较多时,在分页时产生下列情况:14TimestampTrue-----------------------------------------15TimestampTrue----

jQuery操作动态生成的内容的方法_jquery

本文实例讲述了jQuery操作动态生成的内容的方法.分享给大家供大家参考,具体如下: 由于jQuery是页面一加载获取页面元素的,后期动态生成的元素,通过$("#xxxx")获取不到,需要用原始的js语句来获取: document.getElementById("xxx").value 对于动态生成的元素,bind绑定的事件 也无法触发,需要通过jQuery提供的另外一个方法 .live() 这个方法是基本是的 .bind() 方法的一个变体.使用 .bind()

在Table中动态生成的TextBox无法在PostBack时刷新数据

问题描述 问题如题,请高手帮忙看看问题在哪?1.不用Textbox时,在点击DropDownList时,页面PostBack后,Table是可以刷新数据的(代码如下)test.aspx:<%@PageLanguage="VB"AutoEventWireup="false"CodeFile="test.aspx.vb"Inherits="test"%><!DOCTYPEhtmlPUBLIC"-//W3

asp.net 如何给后台动态生成的table设置&amp;amp;lt;td&amp;amp;gt;css样式

问题描述 前台代码有个table,我在后台动态绑定数据到这个table中请问怎么给这个table动态生成的行.列设置css样式 解决方案 解决方案二:Tabletable=newTable();TableRowtr=newTableRow();TableCelltc1=newTableCell();tc1.Text="单位名称:"+ds1.Tables[0].Rows[i]["CompanyName"].ToString();TableCelltc2=newTabl