如何实现框架之间的相互访问。

5027527 2004-07-01 09:46:59
假如我一个Default.aspx中有两个框架Frame1(指向Frame1.aspx)和Frame2(指向Frame2.aspx)。Frame2.aspx中一个子框iframeX(指向iframeX.aspx),请问我如何从Frame1中访问iframeX中的控件?
...全文
251 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
5027527 2004-07-04
  • 打赏
  • 举报
回复
to jing226(一条鱼):
这样刷新iframe不太符合我原来的本意。因为我在iframe中,还有一个tabstrip,当刷新时,iframe中的tabstrip当前分页就不是原来的了,而变成了第一页。
lg384 2004-07-04
  • 打赏
  • 举报
回复
mark
morality 2004-07-02
  • 打赏
  • 举报
回复
var getValue = window.top.frame2Name.frames[0].document.all.TextBox1.value
5027527 2004-07-02
  • 打赏
  • 举报
回复
to jing226(一条鱼) :
window.top.mainFrame.document.all.bb.value="22"
这个方法好用。可是要是我要修改的控件为Webcontrol就不行了。
比如下面我要修改LinkButton1.Text而不是bb.value,就不行了。请指教。
<script language=javascript>
function bt1click()
{
window.top.mainFrame.document.all.LinkButton1.Text="22";
}
</script>
</head>
<body leftMargin="1" topMargin="0" rightMargin="1" >
<form id="MainForm" runat="server">
<asp:LinkButton ID="LinkButton1" runat="server" Text="开始"></asp:LinkButton>
<INPUT id="bb" type="button" value="Button" name="Button1" onclick="bt1click()">

jing226 2004-07-02
  • 打赏
  • 举报
回复
window.top代表主框架窗口,
window.top.mainFrame即当前按扭所在窗口,后面直接跟document节点,如果再加frames[0],变成取按扭所在窗口的第一个iframe节点。

。。。。顺便说一句,这个好象不属于asp.net的讨论范围
jing226 2004-07-02
  • 打赏
  • 举报
回复
window.top.mainFrame.document.all.bb.value="22"
5027527 2004-07-02
  • 打赏
  • 举报
回复
上面是我的代码片断。mainFrame是当前框架名,在default.aspx中定义的。

<frameset rows="109,*,20" frameborder="NO" border="0" framespacing="0" >
<frame src="/WebPlan/Source/topFrame.aspx" name="topFrame" scrolling="NO" noresize >
<frame src="/WebPlan/Source/mainFrame.aspx" name="mainFrame" scrolling="NO" noresize>
<frame src="/WebPlan/Source/bottomFrame.aspx" name="bottomFrame" scrolling="NO" noresize>
</frameset><noframes></noframes>
5027527 2004-07-02
  • 打赏
  • 举报
回复
回复:cpp2017

<script language=javascript>
function bt1click()
{
window.top.mainFrame.frames[0].document.all.bb.value="22";
}
</script>
</head>
<body leftMargin="1" topMargin="0" rightMargin="1" >
<form id="MainForm" runat="server">

<INPUT id="bb" type="button" value="Button" name="Button1" onclick="bt1click()">

还不行,烦麻大帮我看一下。另外,我把
window.top.mainFrame.frames[0].document.all.bb.value="22"改为bb.value="22"也不行。
jing226 2004-07-02
  • 打赏
  • 举报
回复
to morality(逆水行舟,勇进)
好象理解错了啊你

还有,tabstrip的客户端事件函数都是在htc中的,仅仅通过简单的js访问dom进行控制是很难作到的,至少我还不清楚如何调用htc中绑定的事情函数。所以只好用带参数的方式刷新iframe了
jing226 2004-07-02
  • 打赏
  • 举报
回复
看了一下,简单利用文档对象模型看来达不到你要的效果。

试试这样:

topFrame:
[client script]
<script>
function button1_onClick()
{
// 分开写,让你看的清楚点
// 取得iframe所在窗口的window节点
var mainFrm = top.frames[1];
// 取得iframe窗口节点
var ifrm = mainFrm.frames[0];

ifrm.location.href = "iframe.aspx?tab=分页index";
}
</script>

iframe:
[server-side code]
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' 取得传来的tab参数以决定显示哪个tab
dim tab as integer = cint(request.querystring("tab"))
tsMain.SelectedIndex = tab
End Sub
jing226 2004-07-02
  • 打赏
  • 举报
回复
其实思路就是根据dom来控制各个需要操纵的节点的属性或状态。我看一下tabstrip先,梢等。
5027527 2004-07-02
  • 打赏
  • 举报
回复
to jing226(一条鱼) :
TabStrip是微软的选项片控制控件.
在Microsoft.Web.UI.WebControls.dll中.
5027527 2004-07-02
  • 打赏
  • 举报
回复
我是asp.net的新手.请大家多多指点.
我也考虑过用session来实现.比如TabStrip放到Session中,然后点button1时,再通过(TabStrip)Session["TabStrip"].SelectedIndex来实现,因为我对面对客户端用户过多,页面上的一共有9个TabStrip,数量太多,这样会对服务器的性能有所影响.希望高手能提个最佳方案.
也许有一定的难度,分数不够可以再加.能为我解决问题者得分不会低于100分.
jing226 2004-07-02
  • 打赏
  • 举报
回复
TabStrip是个什么类型的控件?
5027527 2004-07-02
  • 打赏
  • 举报
回复
比如说button1的作用是"登录”,我希望用户登录后,当前界面就显示在TabStrip登录后的欢迎分页。所以,如何通过button1来控制TabStrip的切换分页,是我最需要知道的.
5027527 2004-07-02
  • 打赏
  • 举报
回复
to jing226(一条鱼) :

其实我的问题是这样的。
如下是default.aspx代码片断。
<frameset rows="109,*,20" frameborder="NO" border="0" framespacing="0" >
<frame src="/WebPlan/Source/topFrame.aspx" name="topFrame" scrolling="NO" noresize >
<frame src="/WebPlan/Source/mainFrame.aspx" name="mainFrame" scrolling="NO" noresize>
<frame src="/WebPlan/Source/bottomFrame.aspx" name="bottomFrame" scrolling="NO" noresize>
</frameset><noframes></noframes>

我在topFrame.aspx中有一个WebControl控件button1,在mainFrame.aspx中有
<iframe id="iframe1" scrolling="no" src="/WebPlan/Source/Plaza.aspx" width="100%" height="100%" frameborder="0"></iframe>
在iframe1中有<myNS:TabStrip id="tsMain" runat="server".../>

我希望能过button1按钮来切换TabStrip的某一分页。
请指点。谢谢了。

jing226 2004-07-02
  • 打赏
  • 举报
回复
不是.Text,还是根据表单元素的.value附值。
.text 是webcontrol的属性,不是客户端input的属性。
onekey 2004-07-01
  • 打赏
  • 举报
回复
用JS实现来比较方便:

<script language=javascript>
function bt1click()
{
framex.Text1.value="good";
}


</script>

<INPUT id="Button1" type="button" value="Button" name="Button1" onclick="bt1click()">
<iframe name="framex" src="framex.htm"></iframe>
cpp2017 2004-07-01
  • 打赏
  • 举报
回复
window.top.frame2的框架名.frames[0].document.all.TextBox1.value ="sss";
jing226 2004-07-01
  • 打赏
  • 举报
回复
MSDN 2003 Feb -> ASP.NET 状态管理 -> 在页间传递服务器控件值
加载更多回复(2)

62,074

社区成员

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

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

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

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