存储尺码1,尺码2等多个尺码后,asp.net用什么控件读取出来显示??直接用TextBox,一个尺码一列??
这样不是有不是太多,还有要更新的时候怎么办??

解决方案 »

  1.   

    我主要是说插入新记录的时候怎么办,不可能那么多的TextBox,如果有0,0.5,1,1.5,2,2.5...X,XL,XX多个列都要插入数据,有没有什么好的办法?
      

  2.   

    建议你用Reapter控件,这个控件内没有固定的样式,支持数据绑定,生成在客户端后没有太多的冗余代码,
    至于,你说的那个TextBox的事情,我建议,你用DIV弹层,或做成用户控件,只需要用Jquery获取下你要触发事件的ID就OK了。所有的TextBox.我建议你不要用asp:textbox,最好用input标签,把它变成runat=server的,你在后台一样可以获取......至于更多的细节,你需要自己考虑了。
      

  3.   

    楼主可以用不用服务器端控件,参考一下 多文件上传 的前端设置
    一下的代码为参考,需要楼主改动<html>
    <head>
    <meta http-equiv=content-type content="text/html; charset=gb2312">
       <title>文件上传</title>
       <style type="text/css" media="all">
        .TdStyle {
          color:#339900;
          font-size:18px;
          font-weight:bold;
          cursor:hand;
          
        }
       </style>
    <script type="text/javascript">
        //设置上传文件数量
        var fileCount=3;
        function addUploadFile()
        {
         var oTable = document.getElementById("files");
         var oTBody = oTable.tBodies[0];
         var oRows = oTBody.rows;
         if(oRows.length >= (typeof(fileCount)=="undefined" ? 3:fileCount)) return;
         var newFileName = "file"+(oRows.length+1);
         var newTr = document.createElement("TR");
         var newTd1 = document.createElement("TD");
         var newTd2 = document.createElement("TD");
         //设置属性
         newTd1.onclick=function(){deleCurrent(newFileName);};
         newTd1.className = "TdStyle";
         //设置内容
         newTd1.innerHTML = "-";      
         newTd2.innerHTML="<input type='text' name='"+newFileName+"'/>";
        
         newTr.appendChild(newTd1);
         newTr.appendChild(newTd2);
         newTr.setAttribute("id",newFileName);
         oTBody.appendChild(newTr); 
        }
       
        function deleCurrent(fileName)
        {
         var oTable = document.getElementById("files");
         var oTBody = oTable.tBodies[0];
         for(var i=0; i<oTBody.rows.length; i++)
         {
          var TrId = oTBody.rows[i].getAttribute("id")
          if(TrId == fileName)
          {
           oTBody.deleteRow(i);
           break;
          }
         }
        }
       </script></head><body>
       <form name="uploadForm" action="" method="post"
        enctype="multipart/form-data">
       <table>
        <tr>
         <td>
         <table id="files">
          <tbody>
          <tr id="file1">
           <td onClick="addUploadFile();" class="TdStyle">+</td>
           <td><input type="text" name="file1"/></td>
          </tr>
          </tbody>
         </table>
         </td>
        </tr>
        <tr>
         <td>   
          <input type="submit" name="submit" value="上传"/>
         </td>
        </tr>
       </table>
       </form>
    </body>
    </html>
    在定义一个设置尺码个数的文本框(<input type="text" name="sizeCount" id="sizeCount"/>),设置后在前端自动生成 相应个数的文本框,
    id和name的值是 'textBoxSize' + i 的形式
    //表单保存时,用 iCount  取得Size的个数
    int iCount = Int.Parse(Request.Form['sizeCount'])//在动态生成Size文本框的ID,并遍历取值
    for(int i =0;i<iCount ;i++)
    {
      string strID = "textBoxSize" + i.ToString();
      string strSize = Request.Form[strID];
    }
      

  4.   

    插入多的0,0.5,1,1.5,2,2.5...X,XL你就把他0,0.5,1,1.5,2,2.5...X,XL存入进去取的时候split(',')分割一下就好了。
      

  5.   

    这个方法可行,如果有特殊规格的,可以动态生成textbox
      

  6.   

    0,0.5,1,1.5,2,2.5...X,XL,XX 像这样多种尺码,可以利用逗号分隔的方式插进数据库
    读的时候,利用Split(',')一个一个地分割,再绑定到相应的TextBox中去