请问,如何通过ASP.NET获得网页中任意元素的值?

yz95 2011-10-01 11:04:26
请问如何通过ASP.NET获得网页中任意元素的值?
如果元素在<form runat=server></form>中,很容易得到,但请问高手,如何获得和设置那些不在form中的元素的值?比如说文本输入框。有没有什么方法,可以像javascript中document.getElementById这样的函数?

谢谢各位了,顶贴就给分,给出解答的朋友,给30分。
...全文
419 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
Toplovejay 2011-10-05
  • 打赏
  • 举报
回复
用Jquery 吧。
比如页面存在<input id='text' name='text' value='text'>
<input id='text1' name='text1' value='text1'>
可通过$("#input").eq(0);获取到id=text。。

另外html,你可在web 端用一个控件或者特定的对象,通过服务端生成html,直接赋值就可以了。
fetchzone 2011-10-05
  • 打赏
  • 举报
回复
用jQuery可以读取任意dom元素。
boois 2011-10-04
  • 打赏
  • 举报
回复
用Requst.Form方式取回静态的input内容,这个是最简单的,也是最根本的表单值获取方式
net无非是封装了这个过程
如果必须要生成 net 本身的控件,建议自己针对 对方传过来的静态文本做分析,对应生成相对服务器控件,然后在页面内动态 controls.add() 进去,然后取得值之后再反馈回去
辛鹤 2011-10-03
  • 打赏
  • 举报
回复

学习一下
shenlei_water 2011-10-03
  • 打赏
  • 举报
回复
用js吧
孟子E章 2011-10-03
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 yz95 的回复:]
非常感谢大家的慷慨帮助,我还是详细说说吧,我要做的这个东西需要调用arcgis网站的地图服务,而这个地图服务用的都是他自己的javascript函数,比如说要在地图上显示一个infowindow,这个时候可以动态的传一些html控件,比如文本框,按钮什么的进去,这个infowindow就会显示,但这些控件是添加不到form里去,我在后台用asp.net连接数据库取值添加到动态生成的控件中,现在的问……
[/Quote]
但这些控件是添加不到form里去?

页面里有form吗?如果有
txt = document.createElement("input")
txt.Name="xx"
document.forms[0].appendChild(txt)
就可以了。

如果没有form, 你创建一个就可以了
on1y_1onely 2011-10-03
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 yz95 的回复:]

非常感谢大家的慷慨帮助,我还是详细说说吧,我要做的这个东西需要调用arcgis网站的地图服务,而这个地图服务用的都是他自己的javascript函数,比如说要在地图上显示一个infowindow,这个时候可以动态的传一些html控件,比如文本框,按钮什么的进去,这个infowindow就会显示,但这些控件是添加不到form里去,我在后台用asp.net连接数据库取值添加到动态生成的控件中,现在的……
[/Quote]

看出你的问题是想不麻烦....那恐怕很难,这些方法已经很简单了,你都觉得麻烦,那恐怕没不麻烦的了

其实你的需求是中间做adapter或者是做transfer的东西,其实无论是地图接口也好,还是asp.net的传输机制

都是相对固定的,你所要做的是对其适配,或者是你从中做代理服务都可以,根据业务需求做不同的事情
yz95 2011-10-03
  • 打赏
  • 举报
回复
非常感谢大家的慷慨帮助,我还是详细说说吧,我要做的这个东西需要调用arcgis网站的地图服务,而这个地图服务用的都是他自己的javascript函数,比如说要在地图上显示一个infowindow,这个时候可以动态的传一些html控件,比如文本框,按钮什么的进去,这个infowindow就会显示,但这些控件是添加不到form里去,我在后台用asp.net连接数据库取值添加到动态生成的控件中,现在的问题是,无法通过asp设定这些值,所以很麻烦。希望各位高手能再指点一下。
我目前只能用中间控件来传值,比较麻烦,就是想问问还有没有别的好办法了。感谢各位帮助,顶贴有分。
on1y_1onely 2011-10-02
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 yz95 的回复:]

不好意思,我做的东西,必须要临时生成html,而临时生成的页面是无法插到form里的,但要求必须通过这些临时生成的textbox里的值取到,再通过生成的button提交,比较头疼。
[/Quote]

好比

document.getElementById('div1').innerHTML="<input type='text' name='text1' />";

这个时候服务端可以用

Request.Form["text1"] 来获取值 当然div1要放在form里 举例说明一下
yz95 2011-10-02
  • 打赏
  • 举报
回复
麻烦楼上的高人给详细说说,谢谢
孟子E章 2011-10-02
  • 打赏
  • 举报
回复
你要搞清楚Web程序传值的原理啊。
常用的方法

1,可以通过Cookie
2,表单传值
3,Url传值
4,setRequestHeader传值


你想啥都不用,是不能实现的

顺便说一下,临时生成的html也是可以放到form中的
yz95 2011-10-02
  • 打赏
  • 举报
回复
不好意思,我做的东西,必须要临时生成html,而临时生成的页面是无法插到form里的,但要求必须通过这些临时生成的textbox里的值取到,再通过生成的button提交,比较头疼。
bear1989 2011-10-02
  • 打赏
  • 举报
回复
可不可以临时临时生成html的时候,给form里的某个hidden赋值,后台就可以取到了吧
belldandy11 2011-10-01
  • 打赏
  • 举报
回复
AJAX 前台用js可以获取值 再传给后台处理
yz95 2011-10-01
  • 打赏
  • 举报
回复
mcrotry兄弟的意思是,这个不可能实现?
yz95 2011-10-01
  • 打赏
  • 举报
回复
楼上的朋友,不好意思,我解释的不太清楚,我想要访问的是那些,不在<form runat=server></form>里的元素,如果不在form里面的元素加上runat=server,就会出错,

我想访问的,就是那些没有runat=server的元素,不过还是感谢回帖。
mcrotry 2011-10-01
  • 打赏
  • 举报
回复
[Quote=引用楼主 yz95 的回复:]
给出解答的朋友,给30分。
[/Quote]
我给30000000000000000000000000000000000000000000000分
dragon_yx 2011-10-01
  • 打赏
  • 举报
回复
aspx:

<input type="text" id="txt2" ruant="server" />

cs:

string s = txt2.value;
CalvinR 2011-10-01
  • 打赏
  • 举报
回复
取值啊 伤不起啊
on1y_1onely 2011-10-01
  • 打赏
  • 举报
回复
你要分清楚客户端和服务端....哎
加载更多回复(3)

62,046

社区成员

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

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

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

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