javascript生成的文本框,asp.net如何获取它的值.

njlxp 2006-09-20 08:37:39
当页面生成后, 用脚本动态生成的文本框,asp.net后台如何取到它的值.
注意是页面生成后脚本动态生成的,而不是不原来页面上已经有的.
...全文
228 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
njlxp 2006-09-21
  • 打赏
  • 举报
回复
"lnhndx(凉风)" 你可以自己写一个试试.但要保证文本框是页面生成后再用脚本生成的.我上面有例子.如果可以请你把代码贴出来.
njlxp 2006-09-21
  • 打赏
  • 举报
回复
谢谢孟子哥,可以了.就是没有加name属性.id好像不行.
孟子E章 2006-09-21
  • 打赏
  • 举报
回复
var ss="<input type=text name=ccc >";
njlxp 2006-09-21
  • 打赏
  • 举报
回复
ding
njlxp 2006-09-21
  • 打赏
  • 举报
回复
没人回答吗?
lnhndx 2006-09-20
  • 打赏
  • 举报
回复
晕!

net_lover(【孟子E章】) ( ) 信誉:140 Blog 2006-9-20 21:05:55 得分: 0
Request.Form["inputName"] c#
Request.Form("inputName") vb

答案 ,就是对的!
怎么你们却不信呢??




wangkun9999 2006-09-20
  • 打赏
  • 举报
回复
所脚本也搞成这样,看行不?
<script language="javascript" runat=server>
njlxp 2006-09-20
  • 打赏
  • 举报
回复
不行.net会检测出来,不让加runat=server 我用字符串拼接强制加上取不到值.
langzhengyi 2006-09-20
  • 打赏
  • 举报
回复
你还是换个方式吧,javascript和服务器交互一般是做不到的,尤其是dotnet里,就更难了
wangkun9999 2006-09-20
  • 打赏
  • 举报
回复
在<input后面加上ruant="server"

var ss="<input type=text id=ccc ruant=server>";
njlxp 2006-09-20
  • 打赏
  • 举报
回复
有没有人帮助一下?
njlxp 2006-09-20
  • 打赏
  • 举报
回复
下面是我测试用的代码:
test_addcontrol.aspx
<%@ Page language="c#" Codebehind="test_addcontrol.aspx.cs" AutoEventWireup="false" Inherits="hddown.test_addcontrol" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>test_addcontrol</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<script language="javascript">
function add_control()
{
var tb=document.all("mytb");
var tr=tb.insertRow();
var tc=tr.insertCell(0);
var i=parseInt(Form1.c_count.value)+1;
var ss="<input type=text id=ccc >";
tc.insertAdjacentHTML("beforeEnd",ss);
Form1.c_count.value=i;
}
</script>
<table id="mytb" border="1">
<tr>
<td><input type="text" id="text1" runat="server"></td>
</tr>
</table>
<input type="hidden" id="c_count" value="1"> <input type="button" id="add_controlsss" value="添加" onclick="add_control();">
<asp:Button id="Button1" runat="server" Text="Button"></asp:Button>
<asp:Panel ID="contorl_box" Runat="server"></asp:Panel>
<asp:Button ID="addc" Runat="server" Text="添加一个控件"></asp:Button>
</form>
</body>
</HTML>


test_addcontrol.aspx.cs
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace hddown
{
/// <summary>
/// test_addcontrol 的摘要说明。
/// </summary>
public class test_addcontrol : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.HtmlControls.HtmlInputText text1;
protected System.Web.UI.WebControls.Panel contorl_box;
protected System.Web.UI.WebControls.Button addc;
protected System.Web.UI.HtmlControls.HtmlInputHidden c_count;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!IsPostBack)
{

}
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.addc.Click += new System.EventHandler(this.addc_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void Button1_Click(object sender, System.EventArgs e)
{
for (int i=0;i<Request.Form.Count;i++)
{
Response.Write(Request.Form[i].ToString());
}
if (HttpContext.Current.Request["ccc"]!=null)
{
Response.Write(HttpContext.Current.Request["ccc"].ToString());
}
}


private void addc_Click(object sender, System.EventArgs e)
{
int cc=int.Parse(c_count.Value);
cc+=1;
TextBox tb=new TextBox();
tb.ID="text"+cc;
contorl_box.Controls.Add(tb);
this.c_count.Value=cc.ToString();
}
}
}
njlxp 2006-09-20
  • 打赏
  • 举报
回复
谢谢孟子哥,不行.我试了.页面生成前的文本框可以.但页面生成后的文本框就取不到了.不信你可以试试.
孟子E章 2006-09-20
  • 打赏
  • 举报
回复
Request.Form["inputName"] c#
Request.Form("inputName") vb
lys1978900 2006-09-20
  • 打赏
  • 举报
回复
把文本框的值传递给javascript
再用callback 传递给服务器端

不知道可不可行,也是帮想.希望楼主找到方法也告诉我们
njlxp 2006-09-20
  • 打赏
  • 举报
回复
谢了.
amingo 2006-09-20
  • 打赏
  • 举报
回复
帮LZ顶

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧