动态文本框和检索值 [英] Dynamic Textbox and Retrive values
本文介绍了动态文本框和检索值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
你好,
下面是我用来创建动态文本框的代码.现在我的问题是我如何存储动态创建的texbox的值.
设计师代码
Hello,
Below is the code I am using to create dynamic textbox. Now my problem is that how i store the values of dynamically created texboxes.
Designer code
<%@ 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></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Panel ID="pnlTextBox" runat="server">
<asp:LinkButton ID="btnAddtxt" runat="server" OnClick="btnAdd_Click">Add TextBox
<br />
<asp:Button ID="btnSave" runat="server" Text="Save" onclick="btnSave_Click" />
</div>
/form>
</body>
</html>
C#代码
C# code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
// Panel pnlTextBox;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Page_PreInit(object sender, EventArgs e)
{
RecreateControls("txtDynamic", "TextBox");
}
protected void btnAdd_Click(object sender, EventArgs e)
{
int cnt = FindOccurence("txtDynamic");
CreateTextBox("txtDynamic-" + Convert.ToString(cnt + 1));
}
private int FindOccurence(string substr)
{
string reqstr = Request.Form.ToString();
return ((reqstr.Length - reqstr.Replace(substr, "").Length) / substr.Length);
}
private void CreateTextBox(string ID)
{
TextBox txt = new TextBox();
txt.ID = ID;
pnlTextBox.Controls.Add(txt);
Literal lt = new Literal();
lt.Text = "<br />";
pnlTextBox.Controls.Add(lt);
}
private void RecreateControls(string ctrlPrefix, string ctrlType)
{
string[] ctrls = Request.Form.ToString().Split('&');
int cnt = FindOccurence(ctrlPrefix);
if (cnt > 0)
{
for (int k = 1; k <= cnt; k++)
{
for (int i = 0; i < ctrls.Length; i++)
{
if (ctrls[i].Contains(ctrlPrefix + "-" + k.ToString())
&& !ctrls[i].Contains("EVENTTARGET"))
{
string ctrlID = ctrls[i].Split('=')[0];
if (ctrlType == "TextBox")
{
CreateTextBox(ctrlID);
}
break;
}
}
}
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
}
}
推荐答案
foreach(Control c in pnlTextBox.Controls)
{
TextBox t = c as TextBox;
if(t!=null)
{
// do something with your text box here
}
}
这篇关于动态文本框和检索值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文