asp实现表格式录入
作者:休闲 来源:百科 浏览: 【大 中 小】 发布时间:2026-10-17 06:23:43 评论数:
| 姓名 | 部门 | 工资 | 入职日期 |
|---|---|---|---|
| 张三 | 销售部 | 8500 | 2021-03-15 |
| 李四 | 技术部 | 12000 | 2019-07-01 |
" Next %> ``` 这里有个细节容易翻车。如果用户只填了第二行和第三行,第一行留空,ASP照样会把空字符串算进数组里。所以循环里得先判断Len(Trim(...)) > 0再写库,否则数据库里全是空记录。 实际项目里,表格式录入最常见的场景是批量录入成绩、库存盘点、或者订单明细。我之前给一家小工厂做过一个配件入库页面,他们每天要录几百条零件信息,用这种表格式页面,操作工能一次性粘贴Excel里的数据,再逐行检查修改,比一条条提交快了三倍。 但ASP写这个有个天生的毛病——没有ViewState,不像ASP.NET那样能记住行数。用户加了三行,填了一半,不小心点了提交但验证没过,页面刷新后所有行就消失了。要解决这个,得把已经填的值在服务端重新输出到表格里。做法是判断Request.Form("name")是否存在,然后循环生成行,再把值塞回input的value属性。代码会变得啰嗦,但能救回用户数据。 另一个细节是删除行。别光顾着加行,得给每行配个“删除”按钮。事件绑定别用onclick="deleteRow(this)"这种传this的,在IE里会报错。用行索引更稳: ```javascript function deleteRow(btn) { var row = btn.parentNode.parentNode; row.parentNode.removeChild(row); } ``` 最后提一句,现在都2025年了,要是新项目我不会选ASP。但老系统还在跑,改造成本高,所以这招儿还有用。真遇到性能问题,比如一次提交上千行,ASP循环写库会超时,那就得改用SQL批量插入或存储过程。不过那是另一个话题了。
