سؤال

أنا أستخدم .NET MVC ، وداخل صفحات العرض ، قمت بتعيين حامل ContentPlacehals يحتوي على معرف ليتم استخدامه على الصفحة الرئيسية مثل SO:

عرض الصفحة:

<asp:Content ID="CDomBodyId" ContentPlaceHolderID="DomBodyId" runat="server">LmpDemoRequests</asp:Content>

صفحة رئيسية:

<body id='<asp:ContentPlaceHolder ID="DomBodyId" runat="server"></asp:ContentPlaceHolder>'>

لذلك في هذه الحالة بالذات ، ستجعل علامة الجسم هكذا على صفحة HTML النهائية:

<body id='LmpDemoRequests'>

أرغب في الحصول على علامات اقتباس مزدوجة حول علامة معرف الجسم ، لكن تقلب الاقتباسات مثل ما يلي يجعل Intellisense غير قادر على العثور على ContentPlaceholder ، مما يمنحني الكثير من التحذيرات عند تجميعها.

<body id="<asp:ContentPlaceHolder ID='DomBodyId' runat='server'></asp:ContentPlaceHolder>">

هل هناك أي طريقة للتغلب على هذه؟

هل كانت مفيدة؟

المحلول

حاول إعلان BodyID كممتلكات Masterpage الخاصة بك. اضبط قيمتها في صفحات العرض. ثم يمكنك أن تفعل شيئًا مثل <html> <body='<%= BodyID %>'> </body </html>

نصائح أخرى

هذه مشكلة مع محرر ASP.NET. إنه ليس خاصًا بـ MVC. أعتقد أن الحل البديل جيد ولا أرى عيبًا محددًا.

لست متأكدًا مما إذا كنت قد أسيء فهم سؤالك ، ولكن يمكنك أيضًا إضافة:

<body id="site" runat="server"></body>

ثم الوصول إليه على صفحتك

HtmlControl body = (HtmlControl)Master.FindControl("site");
body.Attributes.Add("class", "LmpDemoRequests");

آمل أن أفهم بشكل صحيح.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top