مشكلة في تعيين القيم التعريفية في ASP: الارتباط التشعبي. خطأ: هذا ليس نصًا. سوف يخرج كنص عادي
-
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>
لا تنتمي إلى StackOverflow