public string GetString() //自定义方法,供前台调用
{
StringBuilder strBuilder = new StringBuilder() //用StringBuilder接受所有拼接的字符串,因为StringBuilder效率比拼接字符串效率高,当然以下代码还需要你自己去完善,需要完整代码的话,继续追问
strBuilder.AppendLine("<table>")
//接下来取出数据
foreach(dataRow row in datas) //遍历取出数据放到tr中
{
strBuilder.AppendLine("<tr><td>i</td><td>d["date"]</td><td>d["goodsCompany"]</td>.....</tr>.")
i++
}
strBuilder.AppendLine("</table>")
return strBuilder.ToString()//得到strBuilder返给GetString()这个自定义方法
}
2、前台调用
找一块区域,调用GetString()
<%=GetString()%>//这样就得到了,哈哈,完毕,下面介绍其他的两种方法
3、如果需要异步调用的话,就需要ajax配合json技术了
4、想偷懒也不注重效率的话,就用数据绑定控件吧,比如Reapter
ps:有不懂的继续追问
可用Session来实现。我现在在做的一个物流系统就是这样来增加车辆的发车时间的。首先在Page_Load里初始化 Session["str"] = ""
在该按钮的单击事件里写
Session["str"] = String.Concat(Session["str"].ToString(),"<tr><td><input type=\"text\" name=\"(这儿自己取个名,方便到时取里面的值。用Request["取的名字"].ToString 会自动取得以逗号格式隔开的textbox里的值。可自己试着做。)\" style=\"width: 156px\"></td></tr>")
(String.Concat(string1,string2)方法用来连接string1和string2两个字符串,即每次都在现有的一行后面新加一行。)
然后在页面的前台aspx文件里用<%=Session["str"]%>来显示这些行,注意将它放在你的<table>和</table>中间,就可以往该表格中加入行了。
要有命名规则也可以的。它们也可以都用一样的名字,比如说都为aa ,则name=\"aa\",这样可以用Request["aa"]将一批值取过来。或者你想命名为aa0,aa1,aa2……,可以定义一个Session["i"]=0,然后在前面那段代码的name=\"aa\"+Session["i"].ToString() Session["i"]=Session["i"]+1这样就可以了。
建议这种 *** 作方式还是用前台脚本处理好一些,可以用异步的方式返回Json串,当然提交时也是通过异步的方式完成<head runat="server">
<title></title>
<script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>
<script type="text/javascript">
function AddHtml() {
var strHtml = "<tr><td><input id='Text1' type='text' /></td><td><input id='Text2' type='text' /></td></tr>"
$("#tabTable").append(strHtml)
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="Button1" type="button" value="Add" onclick="AddHtml()" />
<br />
<table id="tabTable">
<tr>
<td>姓名</td><td>出生日期</td>
</tr>
</table>
</div>
</form>
</body>
</html>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)