能不能用asp.net后台代码实现点击按钮动态添加table的一行 一行中间包含一个控件textbox
请问各位能不能用asp.net后台代码实现点击按钮动态添加table的一行一行中间包含一个控件textbox不使用javascript要可以添加多行点击一次添加一行保持原...
请问各位 能不能用asp.net后台代码实现点击按钮动态添加table的一行 一行中间包含一个控件textbox 不使用javascript
要可以添加多行 点击一次添加一行 保持原来的还在 添加后textbox 的ID命名有一定的规则 这样能行吗 展开
要可以添加多行 点击一次添加一行 保持原来的还在 添加后textbox 的ID命名有一定的规则 这样能行吗 展开
4个回答
展开全部
可用Session来实现。我现在在做的一个物流系统就是这样来增加车辆的发车时间的。
首先在Page_Load里初始化 Session["str"] = "";
在该按钮的单击事件里写
Session["str"] = String.Concat(Session["str"].ToString(),"<tr><td><input type=\"text\" name=\"(这儿自己取个名,方便到时取里面的值。用Request["取的名字"].ToString 会自动取得以逗号格式隔开的textbox里的值。可自己试着做。)\" style=\"width: 156px\"></td></tr>");
(String.Concat(string1,string2)方法用来连接string1和string2两个字符串,即每次都在现有的一行后面新加一行。)
然后在页面的前台aspx文件里用<%=Session["str"]%>来显示这些行,注意将它放在你的<table>和</table>中间,就可以往该表格中加入行了。
要有命名规则也可以的。它们也可以都用一样的名字,比如说都为aa ,则name=\"aa\",这样可以用Request["aa"]将一批值取过来。或者你想命名为aa0,aa1,aa2……,可以定义一个Session["i"]=0,然后在前面那段代码的name=\"aa\"+Session["i"].ToString() Session["i"]=Session["i"]+1; 这样就可以了。
首先在Page_Load里初始化 Session["str"] = "";
在该按钮的单击事件里写
Session["str"] = String.Concat(Session["str"].ToString(),"<tr><td><input type=\"text\" name=\"(这儿自己取个名,方便到时取里面的值。用Request["取的名字"].ToString 会自动取得以逗号格式隔开的textbox里的值。可自己试着做。)\" style=\"width: 156px\"></td></tr>");
(String.Concat(string1,string2)方法用来连接string1和string2两个字符串,即每次都在现有的一行后面新加一行。)
然后在页面的前台aspx文件里用<%=Session["str"]%>来显示这些行,注意将它放在你的<table>和</table>中间,就可以往该表格中加入行了。
要有命名规则也可以的。它们也可以都用一样的名字,比如说都为aa ,则name=\"aa\",这样可以用Request["aa"]将一批值取过来。或者你想命名为aa0,aa1,aa2……,可以定义一个Session["i"]=0,然后在前面那段代码的name=\"aa\"+Session["i"].ToString() Session["i"]=Session["i"]+1; 这样就可以了。
展开全部
vaivxuanzi
太不负责了。
你这样添加的代码先不说能不能实现,你添加的代码是在html的前面
太不负责了。
你这样添加的代码先不说能不能实现,你添加的代码是在html的前面
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("<table border=\"1\">");
Response.Write("<tr>");
Response.Write("<td colspan=\"3\" rowspan=\"3\">");
Response.Write("<asp:TextBox ID=\"TextBox1\" runat=\"server\">123</asp:TextBox></td>");
Response.Write("</tr>");
Response.Write("</table>");
}
这个是不用javascript的 我觉得还是用javascript好用点
我改:
界面:<asp:Literal ID="Literal1" runat="server"></asp:Literal>
后台:
页面加载
protected void Page_Load(object sender, EventArgs e)
{
if (ViewState["id"] == null)
{
ViewState["id"] = "tab";
}
}
protected void Button1_Click1(object sender, EventArgs e)
{
string tab=ViewState["id"].ToString();
this.Literal1.Text = "<table id='"+tab+"' border=\"1\"><tr><td colspan=\"3\" rowspan=\"3\"><asp:TextBox ID=\"TextBox1\" runat=\"server\">123</asp:TextBox></td></tr></table>";
ViewState["id"]+=ViewState["id"].ToString();
}
{
Response.Write("<table border=\"1\">");
Response.Write("<tr>");
Response.Write("<td colspan=\"3\" rowspan=\"3\">");
Response.Write("<asp:TextBox ID=\"TextBox1\" runat=\"server\">123</asp:TextBox></td>");
Response.Write("</tr>");
Response.Write("</table>");
}
这个是不用javascript的 我觉得还是用javascript好用点
我改:
界面:<asp:Literal ID="Literal1" runat="server"></asp:Literal>
后台:
页面加载
protected void Page_Load(object sender, EventArgs e)
{
if (ViewState["id"] == null)
{
ViewState["id"] = "tab";
}
}
protected void Button1_Click1(object sender, EventArgs e)
{
string tab=ViewState["id"].ToString();
this.Literal1.Text = "<table id='"+tab+"' border=\"1\"><tr><td colspan=\"3\" rowspan=\"3\"><asp:TextBox ID=\"TextBox1\" runat=\"server\">123</asp:TextBox></td></tr></table>";
ViewState["id"]+=ViewState["id"].ToString();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询