asp.net HyperLinkField لا تلميح الملكية (Alt text)
سؤال
أتمنى لو كان هناك تلميح الميدانية في HyperLinkField كما أن هناك واحدة في الارتباط التشعبي.أنا خلق HyperLinkField طريق الرمز قبل ملزم إلى مصدر البيانات:
HyperLinkField hl = new HyperLinkField();
hl.DataNavigateUrlFields = new string[] { "col" };
hl.DataNavigateUrlFormatString = "{0}";
hl.DataTextField = "Foo";
هل هناك أي طريقة أيضا تعيين القيمة إلى شيء مما سيجعل كتلميح (أو alt النص) ؟ أي مساعدة سوف يكون موضع تقدير.
المحلول
هذا صحيح, لا يوجد تلميح/alt الخاصية text في HyperlinkField.للالتفاف على هذا القصور ، تحتاج إلى استخدام قالب الحقل إضافة منتظم تحكم الارتباط التشعبي.
<asp:TemplateField HeaderText="Href">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#
Eval("Href") %>' Text='<%# Eval("Href") %>' ToolTip='<%# Eval("Text") %>'>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
بيد أن تفعل هذا في برنامجي يتطلب الكثير من العمل.تحتاج إلى إنشاء الخاصة بك الطبقة التي تطبق ITemplate واجهة.هنا البرنامج التعليمي على هذا.
نصائح أخرى
والشرط الخاص بك يمكن accompished في <asp:HyperlinkField>
نفسها عن طريق إضافة تلميح لتلك الخلية المحددة في الحدث RowDataBound
من GridView
. بعد ربط GridView لمصدر البيانات الخاص بك يمكنك القيام بذلك في الحدث RowDataBound
كما يلي:
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[0].ToolTip = "Your tooltip text";
}
وعلى الرغم من أنك قد قبلت إجابة أخرى، قد يكون جوابي مفيدة لبعض المستخدمين الآخرين!