Вызовите дочерний метод iframe со страницы родительского aspx - PullRequest
0 голосов
/ 26 июля 2010

Я создал одну страницу aspx Default.aspx.Он содержит iframe с child.aspx.Файл Child.cs содержит веб-методы, которые должны вызываться родительской страницей.

Насколько я понимаю, мне нужно получить экземпляр класса Child, поэтому я смогу им позвонить.Как я могу это сделать?

Я буду очень признателен за конструктивное решение,

Default.aspx (родительская страница)

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Parent_Child_Iframe._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:Button ID="btGetDataFromChild" runat="server" Text="Get Data from Child" />
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <iframe id="I1" height="300px" name="I1" src="child.aspx" width="400px"></iframe>
            </ContentTemplate>
        </asp:UpdatePanel>
    </div>
    </form>
</body>
</html>

Child.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Child.aspx.cs" Inherits="Parent_Child_Iframe.Child" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <br />
        <br />
        <br />
        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
    </div>
    </form>
</body>
</html>

Child.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Parent_Child_Iframe
{
    public partial class Child : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        public string getResultData ()
        {
            return TextBox1.Text + TextBox2.Text;
        }
    }
}

Итак, как я могу вызвать getResultData () из Child.aspx.cs, нажав кнопку на родительской странице.Основная трудность заключается в том, что я не могу использовать Javascript для сбора информации из TextBoxes, потому что задача более сложная, и я могу использовать только методы сервера.

Заранее спасибо, С наилучшими пожеланиями, Грег.

1 Ответ

0 голосов
/ 26 июля 2010

Это не совсем то, как работают фреймы. Помните, что HTTP - это протокол без сохранения состояния, что означает, что каждый запрос к странице является независимым запросом и не имеет контекста предыдущего запроса. Я думаю, что вам нужно будет либо запросить страницу Child.aspx с определенной формой, либо запросить переменные, и дочерняя страница должна соответственно вывести правильную страницу.

Не могли бы вы объяснить, чего вы хотите достичь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...