为什么我点按钮时 循环出来的文本框总是出现逗号啊 有什么解决办法

时间:2022-07-13 14:49:58
界面
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="WZ_CG_Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
        <table style="width: 825px" id="TABLE1">
            <tr>
                <td>
                    s</td>
                <td style="width: 342px">
                    2</td>
                <td>
                    3</td>
            </tr>
            <tr>
                <td>
                    s</td>
                <td style="width: 342px">
                    2</td>
                <td>
                    3</td>
            </tr>
              <%
                                                        
                        if (10 > 0)
                        {
                            for (int j= 0; j< 10; j++)
                            {
                       
                          %>
            <tr>
                <td>
                    a</td>
                <td style="width: 342px">
                    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                </td>
                <td>
                    4</td>
            </tr>
            <%}} %>
        </table>
    </div>
    </form>
</body>
</html>

后台

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {

    }
}

7 个解决方案

#1


因为你的 文本框名字是相同的TextBox1

#2


本帖最后由 net_lover 于 2011-02-18 14:05:11 编辑
你可以
<%
   
  if (10 > 0)
  {
  for (int j= 0; j< 10; j++)
  {
   
  %>
  <tr>
  <td>
  a</td>
  <td style="width: 342px">
  <input name="TextBox<%=j %>" />
  </td>
  <td>
  4</td>
  </tr>
  <%}} %>

Request.Form["TextBox" + j]得到输入的内容

#3


同一个页面的控件ID 的名字不能是相同的。。


改了你的循环里的TEXTBOX的ID。。

#4


引用 2 楼 net_lover 的回复:
你可以
<%
   
  if (10 > 0)
  {
  for (int j= 0; j< 10; j++)
  {
   
  %>
  <tr>
  <td>
  a</td>
  <td style="width: 342px">
  <input name="TextBox<%=j %>" />
  </td>
  <td>
  4</td>
  <……

+1换成html控件
<input id="<%=j %>" name="<%=j%>" type="text" />
Request.Form["name"]获取

#5


(1)看看是不是你的程序有问题
(2)是不是编码照成了现在的问题
(3)如果是动态生成的控件(后台),那样的话,其实会经常引起莫名其妙的问题(其实就是viewstate的错)

#6


该回复于2011-02-18 15:20:10被版主删除

#7


for (int j= 0; j< 10; j++)
  {
    
  %>
  <input name="TextBox<%=j %>" ID="TextBox<%=j %>" type="text" />
  <%}} %>

request.form["TextBox"+j]

#1


因为你的 文本框名字是相同的TextBox1

#2


本帖最后由 net_lover 于 2011-02-18 14:05:11 编辑
你可以
<%
   
  if (10 > 0)
  {
  for (int j= 0; j< 10; j++)
  {
   
  %>
  <tr>
  <td>
  a</td>
  <td style="width: 342px">
  <input name="TextBox<%=j %>" />
  </td>
  <td>
  4</td>
  </tr>
  <%}} %>

Request.Form["TextBox" + j]得到输入的内容

#3


同一个页面的控件ID 的名字不能是相同的。。


改了你的循环里的TEXTBOX的ID。。

#4


引用 2 楼 net_lover 的回复:
你可以
<%
   
  if (10 > 0)
  {
  for (int j= 0; j< 10; j++)
  {
   
  %>
  <tr>
  <td>
  a</td>
  <td style="width: 342px">
  <input name="TextBox<%=j %>" />
  </td>
  <td>
  4</td>
  <……

+1换成html控件
<input id="<%=j %>" name="<%=j%>" type="text" />
Request.Form["name"]获取

#5


(1)看看是不是你的程序有问题
(2)是不是编码照成了现在的问题
(3)如果是动态生成的控件(后台),那样的话,其实会经常引起莫名其妙的问题(其实就是viewstate的错)

#6


该回复于2011-02-18 15:20:10被版主删除

#7


for (int j= 0; j< 10; j++)
  {
    
  %>
  <input name="TextBox<%=j %>" ID="TextBox<%=j %>" type="text" />
  <%}} %>

request.form["TextBox"+j]