2011-11-17 17 views
5

से सामग्री पृष्ठ फ़ंक्शन को कैसे कॉल करें मास्टर पेज से सामग्री पृष्ठ फ़ंक्शन को कॉल करना आवश्यक है। यदि अधिक डेटा की आवश्यकता है तो कृपया मुझे बताएं।मास्टर पेज

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”; 
    } 
} 
+1

[मास्टर पेज में कॉल विधि] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/6332889/call-method-in-master-page) –

+2

यह नहीं है। मैं पूछ रहा हूं कि मास्टर पेज से कंटेंट पेज फ़ंक्शन को अन्य तरीकों से कैसे कॉल करें। –

+0

यह सिद्धांत में समान है। –

उत्तर

6

आप इस तरह की कोशिश कर सकते लग रहा है। बिल्कुल नहीं, लेकिन आपकी मदद करेगा .....

आप बेस पेज से अपने पेज का वारिस कर सकते हैं। फिर आप अपनी बेस क्लास में वर्चुअल विधि बना सकते हैं जो आपके पेज में ओवरराइड हो जाएगा। फिर आप इस तरह मास्टर पृष्ठ से कि आभासी विधि कॉल कर सकते हैं -

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

यहाँ, cphPage आपके मास्टर पृष्ठ में ContentPlaceHolder की आईडी है। PageBase बेस श्रेणी है जिसमें YourMethod विधि शामिल है।

+0

यह काम कर सकता है, लेकिन यह दृष्टिकोण रास्ता बहुत जटिल है। मैं अगली बार कोशिश करूंगा। शायद :) लेकिन वैसे भी बहुत बहुत धन्यवाद। –

+0

क्या आप विस्तार से बता सकते हैं कि मैं समझ नहीं सकता ?? इसे जांचें - http://stackoverflow.com/questions/13508855/accessing-content-page-method-from-masterpage-method –

1

मुझे आमतौर पर पता चलता है कि जब मास्टरपेज को सामग्री पृष्ठ में कोई फ़ंक्शन कॉल करने की आवश्यकता होती है तो आपको अपने पृष्ठ के डिज़ाइन में कोई दोष होता है। MasterPage को ContentPages के बारे में कुछ भी जानने की आवश्यकता नहीं है। लेकिन अगर आपको लगता है कि यह आपके लिए सही तरीका है, तो कोडप्रोजेक्ट

+0

आंशिक रूप से आपसे सहमत हैं। जैसा कि आपने कहा था, 90% मामलों में यह अच्छी तरह से काम करेगा। लेकिन ऐसी कोई चीज नहीं है जैसे "एक आकार सभी फिट बैठता है"। कृपया उदाहरण देखें जो नीचे दिए गए उत्तरों में से एक में प्रदान किया गया था: http://www.asp.net/master-pages/tutorials/interacting-with-the-content-page-from-the-master-page-cs –

+0

हां , आप सही हैं :) कभी-कभी आपको इच्छित परिणाम प्राप्त करने के लिए नियमों को थोड़ा सा बदलना होगा। लेकिन यह जानना महत्वपूर्ण है कि आप यह कब करते हैं, और क्यों :) –

1

व्यक्तिगत रूप से मैंने jquery का उपयोग करके एक चाल की है: जब मैंने मास्टर बटन पर क्लिक किया, तो वास्तव में 'saveButton' नामक सामग्री पृष्ठ बटन पर क्लिक किया गया।

एचटीएमएल:

enter code here 

.master jQuery कोड:

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

मैं आईडी $ इस्तेमाल किया = 'SaveButton क्योंकि एक और अपने कार्य के लिए इस्तेमाल किया अब आप जानते हैं, एएसपी.NET नाम बदलता है जब वे एक मास्टर, एक दोहराना, एक ग्रिड व्यू, और अन्य युक्त नियंत्रण होते हैं। $ id = 'stuff' मान्य करता है कि नियंत्रण आईडी 'सामान' के साथ समाप्त होती है।

संबंधित मुद्दे