急求:如何获取指定页面内的指定控件

lrheng 2010-04-19 03:14:57
是这样的,我想根据当前页面设定的另一个页面地址,根据这个地址去访问该页面,获取该页面的指定类型的控件(如Button类型的)的ID!请各位高手帮指点一下!!!!我急用,谢谢!
...全文
214 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
lrheng 2010-04-26
  • 打赏
  • 举报
回复
我要获取的是页面的服务器控件的ID,现在还没有解决,我会再发个帖子寻求思路和方法,这个帖子就暂时结贴先,由于没有解决分数只能分散了,希望大家以后对小弟我多多的支持,踊跃发表言论吧!
lrheng 2010-04-21
  • 打赏
  • 举报
回复
问题是用HttpWebRequest抓取页面然后
根据类型正则获取这样的到的是客户端控件啊,客户端控件和服务端控件有很大的不同,而且有些在客户端没有!
littlecc2009 2010-04-20
  • 打赏
  • 举报
回复
把另外两个页面内容放在用户控件中,A页要获取它们的控件ID时,就在A页加载对应的两个用户控件,并获取它们里面的控件ID。
夺命胖子 2010-04-20
  • 打赏
  • 举报
回复
页面继承一个公共页,在公共页里判断是否有进入该页的权限,

有权限了进入后,根据权限加载该页面有哪些功能,具体可以控制到是有否有权限加载哪个控件等。

马老虎 2010-04-20
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 mmm306306 的回复:]

引用 14 楼 wuyq11 的回复:

HttpWebRequest抓取页面
根据类型正则获取
当前页面可用控件遍历获取

果然是“老手”。好想法啊!!强!
[/Quote]

/// <summary>
/// 抓取页面信息
/// </summary>
/// <returns>返回值是你请求页面的源码</returns>
private string GetResponseStr()
{
string str = "此处是你请求网页的路径";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(str);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream stream = response.GetResponseStream();//获得回应的数据流
//将数据流转成 String
string result = new StreamReader(stream, System.Text.Encoding.UTF8).ReadToEnd();
return result;
}



使用上面的代码请求页面然后使用正则表达式 获得这个页面上 你想要的信息!

[Quote=引用 20 楼 lrheng 的回复:]

我不会用正则表达啊!
[/Quote]
一步一步的学!!遇到具体的正则问题上CSDN提问吧!
马老虎 2010-04-20
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 wuyq11 的回复:]

HttpWebRequest抓取页面
根据类型正则获取
当前页面可用控件遍历获取
[/Quote]
果然是“老手”。好想法啊!!强!
lrheng 2010-04-20
  • 打赏
  • 举报
回复
我不会用正则表达啊!
lrheng 2010-04-20
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 wuyq11 的回复:]
HttpWebRequest抓取页面
根据类型正则获取
当前页面可用控件遍历获取
[/Quote]

想试一试看,麻烦能否给出点代码参考一下,
辰爸 2010-04-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 lrheng 的回复:]
我在做一个权限管理系统,管理粒度要细化到页面内的控件,权限分配的资源从模块到页面最后到页面内的控件@@@
[/Quote]

你可以在页面控制按钮状态啊!button.visable=权限树上是否由数据修改权限
wuyq11 2010-04-19
  • 打赏
  • 举报
回复
HttpWebRequest抓取页面
根据类型正则获取
当前页面可用控件遍历获取
lrheng 2010-04-19
  • 打赏
  • 举报
回复
请问一下12楼的mmm306306 我要获取的资源页面位置是不固定的,有可能在本系统目录下,也有可能不是,还有可能和系统不在同一机器上,能否给出点具体的代码来参考下谢谢!
马老虎 2010-04-19
  • 打赏
  • 举报
回复
[Quote=引用楼主 lrheng 的回复:]
是这样的,我想根据当前页面设定的另一个页面地址,根据这个地址去访问该页面,获取该页面的指定类型的控件(如Button类型的)的ID!请各位高手帮指点一下!!!!我急用,谢谢!
[/Quote]
首先说的是:网页是无状态的。
按照你上面说的无法实现。

假如 当前页:A 另一个页:B
如果AB是不跨域 且 子与父的关系 且B没有关闭 那么可以使用JavaScript访问。
parent.window.document.........
-------
还有个就是后台处理下。(这个我没测试)
在B打开的时候 将B页面放到Session中,然后在A页面调用
Session["aa"]=this.Page;


lrheng 2010-04-19
  • 打赏
  • 举报
回复

大家帮考虑一下,要实现这样的功能还有没有其他的思路?分数不够我会补加的!
x276912757 2010-04-19
  • 打赏
  • 举报
回复
lrheng 2010-04-19
  • 打赏
  • 举报
回复
请问Page2 如何得来的?
lrheng 2010-04-19
  • 打赏
  • 举报
回复
我在做一个权限管理系统,管理粒度要细化到页面内的控件,权限分配的资源从模块到页面最后到页面内的控件@@@
辰爸 2010-04-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zhlu880516 的回复:]
。。。。你可以变通一下啊 唉....
在Page1里声明
Page2 p2 = new Page2();
foreach (Control c in p2.Controls)
{
if (c is Button)
{
string bid = (c as Button).ID;
}
else if (c is TextBox)
{
string……
[/Quote]

这样
初吻给了烟 2010-04-19
  • 打赏
  • 举报
回复
。。。。你可以变通一下啊 唉....
在Page1里声明
Page2 p2 = new Page2();
foreach (Control c in p2.Controls)
{
if (c is Button)
{
string bid = (c as Button).ID;
}
else if (c is TextBox)
{
string tb = (c as TextBox).ID;
}
.............
}
这样试试
天下在我心 2010-04-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lrheng 的回复:]
引用 3 楼 tianshikuqi8 的回复:
不太明白楼主的意思,可以在当前页面声明另外一个页面的对象page2,之后向二楼那样遍历Page2里所有的控件


如何在当前页面声明另外一个页面的对象page2 ?二楼实现的只是获取本页面内的指定类型的控件ID,
我想要的是,例如有三个页面a.aspx,b.aspx c.aspx,我想在c.aspx.cs内实现获取a.aspx,b.as……
[/Quote]
为什么这样做?
lrheng 2010-04-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tianshikuqi8 的回复:]
不太明白楼主的意思,可以在当前页面声明另外一个页面的对象page2,之后向二楼那样遍历Page2里所有的控件
[/Quote]

如何在当前页面声明另外一个页面的对象page2 ?二楼实现的只是获取本页面内的指定类型的控件ID,
我想要的是,例如有三个页面a.aspx,b.aspx c.aspx,我想在c.aspx.cs内实现获取a.aspx,b.aspx 两个页面内Button和CheckBox类型的控件的ID加入到数据库中!
加载更多回复(3)

62,073

社区成员

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

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

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

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