الرجوع Page.Title بعد أن تم تعيينه جزء من آسيا والمحيط الهادئ: contentplaceholder
-
05-07-2019 - |
سؤال
ولقد حصلت على الإعداد صفحة رئيسية مع جهاز تحكم عن contentplaceholder داخل علامة العنوان وذلك:
<head id="head1" runat="server">
<style type="text/css">
body { font-family: Tahoma; font-size: 9pt; }
</style>
<title><asp:contentplaceholder id="title" runat="server" /></title>
</head>
ويتم تنفيذ هذا contentplaceholder داخل صفحة يستخدم هذا masterpage وذلك:
<asp:content runat="server" contentplaceholderid="title">
Welcome: <%= this.BasketID %>
</asp:content>
وأنا أحاول ثم الحصول على نسخة من العنوان استبداله داخل الجسم masterpage (حاول أيضا داخل صفحة - وهذا لا يعمل إما) مثل:
<p>
<strong>Subject:</strong> <%# Page.Title %>
</p>
في جميع الحالات Page.Title
وPage.Header.Title
و""
(لقد حاولت كل ربط البيانات وباستخدام بناء الجملة <%= %>
دون جدوى.
لا أحد يعرف ما يجري هنا وكيف يمكن التغلب على هذا؟
وشكرا.
المحلول
والمشكلة أنك تحصل هي لأنك 'خداع' دورة الصفحة. كنت أفضل استخدام هذا في codebehind من الصفحة:
Master.Title = "Welcome: " + basketId
هل يمكن أن تفعل ذلك بهذه الطريقة ولكن؛ على masterpage: إنشاء HtmlTextWriter، تكوينه الكتابة إلى MemoryStream. تقديم 'عنوان' contentplaceholder إلى HtmlTextWriter، إرفاق StreamReader لتيار للاستيلاء على محتوى كسلسلة، وإخراج هذا إلى صفحتك. ومع ذلك، وهذه ليست فعالة، والطريقة التي يعمل بها أكثر من اللازم: -)