Как вызвать функцию Page Content из Master Page - PullRequest
5 голосов
/ 17 ноября 2011

Необходимо вызвать функцию Page Page из Master Page. Пожалуйста, дайте мне знать, если нужно больше данных.

MasterPage.master.cs выглядит как

 protected void Required_Function(object sender, EventArgs e)
 {
    // call Update_Content_Page() from content page 
 }

Default.aspx выглядит как

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<asp:Content ID="Content1" ContentPlaceHolderID="contentPlaceHolder" Runat="Server">

<asp:Label ID="Label1" runat="server" Text="Label">Hello people!</asp:Label>

</asp:Content>

Default.aspx.cs выглядит как

using…
public partial class _Default : System.Web.UI.Page
{ 
    protected void Update_Content_Page()
    {
        Label1.Text=”Hello world”;
    }
}

Ответы [ 3 ]

6 голосов
/ 17 ноября 2011

ты можешь попробовать вот так .. не совсем, но поможет тебе .....

Вы можете унаследовать свою страницу от базового класса. Затем вы можете создать виртуальный метод в вашем базовом классе, который будет переопределен на вашей странице. Затем вы можете вызвать этот виртуальный метод с главной страницы следующим образом -

(cphPage.Page as PageBase).YourMethod();

Здесь cphPage - это идентификатор ContentPlaceHolder на главной странице. PageBase - это базовый класс, содержащий метод YourMethod.

1 голос
/ 18 апреля 2014

Лично я сделал трюк, используя jquery: когда я нажал на кнопку мастера, он фактически нажал на кнопку страницы содержимого с именем 'saveButton' и использовал свою функцию:

HTML:

enter code here

. Мастер jquery код:

function tester() {
        console.log("Testing");
        $("[id$='SaveButton']").click();
    }

Я использовал id $ = 'SaveButton', потому что, как вы уже знаете, ASP.NET переименовывает элементы управления, когда они находятся внутри мастера, повторителя, представления сетки и других содержащих элементы управления. $ id = 'stuff' проверяет, что идентификатор элемента управления заканчивается на 'stuff'.

1 голос
/ 17 ноября 2011

Я обычно нахожу, что когда MasterPage необходимо вызвать функцию в ContentPage, у вас есть недостаток в дизайне вашей страницы. MasterPage не должен знать что-либо о ContentPages. Но если вы чувствуете, что это правильный путь для вас, вот руководство от CodeProject

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