2010-04-07 15 views
16

मैं एक साधारण हाइपरलिंक उस पृष्ठ के भीतर एक नामित लंगर के लिए लिंक रेंडर करने के लिए कोशिश कर रहा हूँ नामित नेविगेट करता है कि, उदाहरण के लिए के लिए HtmlAnchor या ASP.NET हाइपरलिंक का उपयोग करना:एंकर टैग में पेज लंगर

<a href="#namedAnchor">scroll to down</a> 

<a name="namedAnchor">down</a> 

समस्या यह है कि जब मैं asp:HyperLink या HtmlAnchor जैसे एएसपी.NET नियंत्रण का उपयोग करता हूं, तो href="#namedAnchor"href="controls/#namedAnchor" के रूप में प्रस्तुत किया जाता है (जहां controls उपनिर्देशिका है जहां एंकर युक्त उपयोगकर्ता नियंत्रण होता है)।

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Test.ascx.cs" Inherits="TestWebApplication1.controls.Test" %> 

<a href="#namedAnchor" runat="server">HtmlAnchor</a> 

<asp:HyperLink NavigateUrl="#namedAnchor" runat="server">HyperLink</asp:HyperLink> 

उत्पन्न स्रोत लगता है:

<a href="controls/#namedAnchor">HtmlAnchor</a> 

<a href="controls/#namedAnchor">HyperLink</a> 

मैं वास्तव में सिर्फ चाहते हैं: यहाँ, लंगर नियंत्रण के दो प्रकार है, जो दोनों एक ही समस्या है का उपयोग करते हुए नियंत्रण के लिए कोड है

<a href="#namedAnchor">HtmlAnchor</a> 

<a href="#namedAnchor">HyperLink</a> 

मैं HtmlAnchor या HyperLink कक्षा का उपयोग कर रहा हूं क्योंकि मैं पीछे कोड में अन्य विशेषताओं में परिवर्तन करना चाहता हूं। मैं इस आवश्यकता के लिए एक कस्टम वेब नियंत्रण शुरू नहीं करना चाहता, क्योंकि जिस आवश्यकता का मैं पीछा कर रहा हूं वह पारंपरिक एएसपी.NET लिंक नियंत्रणों को त्यागने के लिए पर्याप्त महत्वपूर्ण नहीं है। ऐसा लगता है कि मैं वांछित लिंक उत्पन्न करने के लिए एएसपी.NET लिंक नियंत्रणों का उपयोग करने में सक्षम होना चाहिए। NavigateUrl संपत्ति का उपयोग करने का

+0

की संभावित डुप्लिकेट [asp.net उपयोगकर्ता नियंत्रण, हो रही htmlAnchor संकल्प href = "#"] (http://stackoverflow.com/questions/1489332/asp -नेट-उपयोगकर्ता-नियंत्रण-प्राप्त-htmlanchor-resol-to-href) – zzzzBov

उत्तर

26

इसके बजाय, बस href संपत्ति लिंक पर कोई कस्टम गुण के रूप में

<asp:HyperLink href="#namedAnchor" runat="server">HyperLink</asp:HyperLink> 
+0

ऐसा लगता है कि यह काम करता है। धन्यवाद। –

+0

दिलचस्प। इस समाधान के लिए धन्यवाद। – Rushino

+0

मान्य नहीं है: विशेषता 'href' तत्व 'हाइपरलिंक' की मान्य विशेषता नहीं है। – cdonner

0

सेट इसका इस्तेमाल:

 HyperLink link = new HyperLink(); 
     link.Attributes.Add("name", doc.DocumentID.ToString()); 
     link.Text = doc.DocumentNumber; 

यह आपको दे देंगे:

<a name="111">blah blah</a> 
6

कोडबेहिंड में एचआरईएफ संपत्ति सेट करने के लिए:

HyperLink link = new HyperLink(); 
link.Attributes.Add("href", "#" + doc.DocumentID.ToString()); 
link.Text = doc.DocumentNumber; 

यह आपको दे देंगे:

<a href="#111">blah blah</a> 
+0

कोड में ऐसा करने के लिए यह सही समाधान है। (HtmlAnchor क्लास के लिए भी काम करता है - HtmlAnchor पर HRef प्रॉपर्टी को सेट करने से अतिरिक्त "बकवास" भी उत्पन्न होता है) – misteraidan

संबंधित मुद्दे