下面的函数每执行一次就生成一个TextBox(其实是<input type="Text">)


   var i=0;
    function changeIt()
    {
    if(i<5)
    {
        i=i+1;
        skils='skill'+i;
        my_div.innerHTML = my_div.innerHTML +" <input type='text' id='" + skils + "'>";
    }
    else
    {
    }
    }

我们来之行它:点击以下就添加一个TB:

        <a id="addSkills" href="javascript:changeIt();">Add More</a>

好,文本框是显示出来了,但它是在客户端生成的,不能保存状态,跟服务端无法直接沟通,它们的值我们怎么来取呢?——Hidden Field,老办法。。。

        <asp:HiddenField ID="Skills" runat="server" />

    function getValues()
    {
        document.getElementById("Skills").value=document.getElementById('skill1').value+"|";
        document.getElementById("Skills").value+=document.getElementById('skill2').value+"|";
        document.getElementById("Skills").value+=document.getElementById('skill3').value+"|";
        document.getElementById("Skills").value+=document.getElementById('skill4').value+"|";
        document.getElementById("Skills").value+=document.getElementById('skill5').value+"|";
        window.alert(document.getElementById("Skills").value);
    }

这样,就把这些TEXTBox们的值存入了Hidden Field,我们在服务端取一下看看:

        <asp:Button ID="Button3" OnClientClick="javascript:getValues();" runat="server" 
            Text="get from client-side" onclick="Button3_Click"/>
    protected void Button3_Click(object sender, EventArgs e)
    {
        string val=this.Skills.Value;
        Response.Write(val);
    }

取出来了:

全部代码在此:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!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>Untitled Page</title>     <script language="javascript" type="text/javascript">
    var i=0;
    function changeIt()
    {
    if(i<5)
    {
        i=i+1;
        skils='skill'+i;
        my_div.innerHTML = my_div.innerHTML +" <input type='text' id='" + skils + "'>";
    }
    else
    {
    }
    }
    function getValues()
    {
        document.getElementById("Skills").value=document.getElementById('skill1').value+"|";
        document.getElementById("Skills").value+=document.getElementById('skill2').value+"|";
        document.getElementById("Skills").value+=document.getElementById('skill3').value+"|";
        document.getElementById("Skills").value+=document.getElementById('skill4').value+"|";
        document.getElementById("Skills").value+=document.getElementById('skill5').value+"|";
        window.alert(document.getElementById("Skills").value);
    }
    </script> </head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:HiddenField ID="Skills" runat="server" />
        <a id="addSkills" href="javascript:changeIt();">Add More</a>
        <asp:Button ID="Button3" OnClientClick="javascript:getValues();" runat="server" 
            Text="get from client-side" onclick="Button3_Click"
           />
        <div id="my_div">
        </div>
    </div>
    </form>
</body>
</html>
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq; public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {     }
    protected void Button3_Click(object sender, EventArgs e)
    {
        string val=this.Skills.Value;
        Response.Write(val);
    }
}
 
 

ASP.NET 动态创建文本框 TextBox (add TextBox to page dynamically)的更多相关文章

  1. Asp.net中使用文本框的值动态生成控件的方法

    这篇文章主要介绍了Asp.net中使用文本框的值动态生成控件的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 看到一个网友,有论坛上问及,动态的生成checkbox控件,在文本框中输入一个“花 ...

  2. 使用Htmlhelper,创建文本框TextBox

    下面通过HtmlHelper帮助类,创建文本框. 首先新建一个实体类,做为下面的例子: using System; using System.Collections.Generic; using Sy ...

  3. MVC动态添加文本框,后台使用FormCollection接收

    在"MVC批量添加,增加一条记录的同时添加N条集合属性所对应的个体"中,对于前台传来的多个TextBox值,在控制器方法中通过强类型来接收.使用FormCollection也可以接 ...

  4. SSRS动态设置文本框属性

    SSRS可以通过表达式动态设置文本框所有的属性,比如字体,字号,是否加粗,如下图所示: 汉字和数字英文字母占用的空间不一样,一个汉字占用两个数字和英文字母的空间,VB里有LENB取得字节数,这SSRS ...

  5. JS实现动态提示文本框可输入剩余字数(类似发表微博数字提示)

    一.实现效果: 为了更直观的体现用户在文本框输入文本时能看到自己输入了多少字,项目中需要通过判断提示文本框剩余可输入字数. html & JS: <div> <textare ...

  6. word中创建文本框

    word中创建文本框         在插入中点击"文本框"选项卡,例如以下图所看到的:        手工加入自己想要的文本框格式,然后选择所创建的文本框,在工具栏处会发现多了一 ...

  7. HTML创建文本框的3种方式

    我的第一个随笔,记录主要用来整理学习的知识点 1.input 创建单行文本框 <input type="text" size="10" maxlength ...

  8. ASP.Net动态创建GridView

    1.创建Field BoundField requestitem = new BoundField();//注意Field可以是ButtonField,TemplateField,...等等GridV ...

  9. iOS学习之根据文本内容动态计算文本框高度的步骤

    在视图加载的过程中,是先计算出frame,再根据frame加载视图的,所以在设计计算高度的方法的时候,设计成加号方法; //首先给外界提供计算cell高度的方法 + (CGFloat)heightFo ...

随机推荐

  1. Google Chrome 未响应。是否立即重新启动?---解决方法(秒速解决)

    Google Chrome 未响应.是否立即重新启动? 解决方法 不当的退出会造成 Google Chrome 无法启动.出现“Google Chrome 未响应.是否立即重新启动?”的错误. 要解决 ...

  2. _mysql.c:29:20: error: Python.h: No such file or directory

    在Centos系统中安装 pip install MySQL-python 提示: _mysql.c:29:20: error: Python.h: No such file or directory ...

  3. 【C】——dup/dup2用法

    相信大部分在Unix/Linux下编程的程序员手头上都有<Unix环境高级编程>(APUE)这本超级经典巨著.作者在该书中讲解dup/dup2之前曾经讲过“文件共享”,这对理解dup/du ...

  4. 局域网内的机器不能ping通虚拟机,但是虚拟机可以ping通局域网的机器

    将虚拟机的网络网络适配器模式改成桥接模式即可: 一.选择虚拟机里面的设置: 二.在虚拟机设置界面将网络适配器模式改成桥接模式

  5. jquery ajax 无刷新上传

    var form = new FormData(); form.append('file', $("#submitmaterials").find("input" ...

  6. linux下udev简介

    一.关于Udev u即user space,dev是device,通过它的名字,我们就可以简单了解到,它是一个和用户态相关的驱动设备管理机制.udev是一个针对2.6内核的文件系统.提供一种基于用户空 ...

  7. sqlmap注入常见用法一条龙 【转】

    sqlmap是一个灰常强大的sql注入检测与辅助工具,但是由于没有图形界面,基本上用起来比较麻烦,导致很多人可能宁愿用havij或者是pangonlin也不愿意麻烦去翻帮助界面,我自己也是把很多语句贴 ...

  8. goldengate一些參数整理

    manager參数: AUTOSTART:指定在mgr启动时自己主动启动那些进程. AUTOSTART ER * AUTOSTART extract extsz  AUTORESTART:指定在mgr ...

  9. 备份集中的数据库备份与现有的xx数据库不同”解决方法

    搞定

  10. weblogic学习笔记:域创建+应用部署

    参考地址:http://docs.oracle.com/cd/E13222_01/wls/docs92/index.html 文档基于版本:weblogic92 域(domain)是weblogic服 ...