مشكلة في تعيين القيم التعريفية في ASP: الارتباط التشعبي. خطأ: هذا ليس نصًا. سوف يخرج كنص عادي

StackOverflow https://stackoverflow.com/questions/3441841

  •  27-09-2019
  •  | 
  •  

سؤال

أحاول القيام بذلك:

<asp:HyperLink NavigateUrl='<%= WebContext.RootUrl %><%= WebContext.CurrentUser.UserName %>' runat="server" Text='<%= GetProfileImage(WebContext.CurrentUser.AccountId) %>'></asp:HyperLink> 

لكن أحصل على الخطأ:

هذا ليس نص. سوف يخرج كنص عادي.

عندما أقوم بالماوس على تصريحاتي التعريفية.

أيه أفكار؟ شكرًا.

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

المحلول

يمكنك استخدام بناء جملة ربط البيانات <%# %>. تأكد فقط DataBind() على عنصر التحكم من الكود.

نصائح أخرى

لا يمكنك استخدام <%= ... %> الحرفية لتعيين خصائص عناصر التحكم من جانب الخادم.

بدلاً من ذلك ، يمكنك استخدام طبيعية (من جانب العميل) <a> علامة مثل هذا:

<a href="<%= WebContext.RootUrl %><%= WebContext.CurrentUser.UserName %>"><%= GetProfileImage(WebContext.CurrentUser.AccountId) %></a>

لو GetProfileImage لا تعيد علامات HTML ، تأكد من الهروب منها.

لا يزال بإمكانك ملءu003Casp:HyperLink> إذا قدمت بطاقة تعريف و Runat = "الخادم" ملكيات. يمكنك بعد ذلك تعيين أي خاصية من الارتباط التشعبي من الكود-Behind.

رمز ASP:

<asp:HyperLink ID="myLink" runat="server"/>

الكود-بيهيند:

public void Page_Init()
{
    myLink.NavigateURL = WebContext.RootUrl + WebContext.CurrentUser.UserName;
    myLink.Text = GetProfileImage(WebContext.CurrentUser.AccountId);
}
<a href='<%= WebContext.RootUrl %><%= WebContext.CurrentUser.UserName %>'><%= GetProfileImage(WebContext.CurrentUser.AccountId) %></a>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top