我想指定动态发生的文本框的位置,但我无法将其作为"位置"财产没有工作说我缺少一些名称空间。
这是我的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
protected void freq_txtbox(object sender, EventArgs e)
{
int num = Convert.ToInt32(e_freq.Text);
int c = 0;
for (c = 0; c <= num; c++)
{
TextBox txtRun = new TextBox();
txtRun.Location= new Point(100,20*c);
this.Controls.Add(txtRun);
}
}
答案 0 :(得分:1)
不是使用动态创建的TextBox控件添加到 webform ,而是通过分配它来使像asp.net Panel
或div
这样的容器成为服务器可访问控件{{ 1}}并将id
属性设置为&#34; server&#34; 。
runat
html中div的声明就像
divId.Controls.Add(txtRun);
答案 1 :(得分:1)
Location
中没有属性WebForms TextBox
。
因此,您可以为每个文本框创建一个container div
,并为每个div
设置样式以调整div的位置。
for (c = 0; c <= num; c++)
{
TextBox txtRun = new TextBox();
HtmlGenericControl div = new HtmlGenericControl("div");
div.Controls.Add(txtRun);
div.Attributes.Add("class", "txtContainer");
divContainer.Controls.Add(div);
}
这里是围绕文本框的容器div的样式
<style>
.txtContainer {
width: 15%;
float:left;
padding:10px;
}
</style>
这是主要的容器div
<div runat="server" id="divContainer">
</div>
答案 2 :(得分:0)
这是用于添加任何文本框的WinForm样式。 您可以创建用于添加文本框的jQuery代码
在这里输入代码
function AddNewTextBoxes(noOfTextBoxNeeded){
var varHtmlTextbox="";
for(var i=0;i<noOfTextBoxNeeded;i++){
varHtmlTextbox = varHtmlTextbox + "<input type='text' /> <br/>";
}
$("#DivToAppenTextboxes").append(varHtmlTextbox);
}
希望这会对你有所帮助。
答案 3 :(得分:0)
您必须使用div来添加控件。 假设
客户端
<style>
.btnClass{
//your css is going to implement here whatever you want.
}
</style>
<div id="dvId" runat="server"></div>
服务器端代码是什么,这里我们需要将css应用于将在Div控制器中添加的按钮:
for (c = 0; c <= num; c++)
{
TextBox txtRun = new TextBox();
txtRun.Attributes.Add("class", "btnClass");
dvId.Controls.Add(txtRun);
}