मैं एएसपीनेट उपयोगकर्ता नियंत्रण लिख रहा हूं। इसमें एक प्रॉपर्टी है, आगे रीडिंग पेज, और इसके लिए दो नियंत्रण हैं: ऑब्जेक्टडाटासोर्स और रिपेटर। रिपेटर के अंदर मैं एक href संपत्ति सेट के साथ FurtherReadingPage + "?id=" + Eval("Id")
जैसे कुछ के साथ एक हाइपरलिंक प्रदर्शित करना चाहता हूं। मुझे नहीं पता कि पेज के मार्कअप के अंदर इसे कैसे किया जाए। मैं अकेले <% Eval("Id") %>
या <% Response.Write(FurtherReadingPage + "?id=") %>
का उपयोग कर सकता हूं लेकिन मुझे नहीं पता कि उन्हें कैसे मिलाएं।एएसपीनेट पेज पर <% ... %> टैग के अंदर सी # कोड का उपयोग कैसे करें?
8
A
उत्तर
3
आप इस तरह यह कर सकते हैं -
<asp:Hyperlink runat="Server" ID="hlLink" NavigateUrl='<%# FurtherReadingPage + "?Id=" + DataBinder.Eval(Container.DataItem, "Id") %>' />
1
इस (कड़ी के रूप में उदाहरण) का प्रयास करें: <a href='<%=FurtherReadingPage %>?id=<%# Eval("Id") %>'>My link</a>
3
इस प्रयास करें:
<%#String.Format("{0}?id={1}",FurtherReadingPage, Id)%>
17
आप अलग अलग टैग की एक जोड़ी है:
<%
अंदर कोड निष्पादित करता है:
<% int id = int.Parse(Request["id"]); %>
<%=
अंदर कोड बाहर लिखते हैं:
<%=id %> <!-- note no ; -->
<!-- this is shorthand for: -->
<% Response.Write(id); %>
जब एक पृष्ठ पर प्रदान की इन दोनों सामान्य प्रवाह को तोड़ने, उदाहरण के लिए यदि आप Asp.net <head runat="server">
आप करेंगे एक सामान्य में उन्हें इस्तेमाल समस्याएं पाएं
<%#
डेटा बाइंडिंग:
<%# Eval("id") %>
यह आपको कि Asp.net WebForms एक संग्रह (बजाय शाब्दिक नियंत्रण है कि आप के साथ <%=
उपयोग कर सकते हैं) के रूप में प्रस्तुत करना नियंत्रण के लिए बाइंडिंग निर्दिष्ट कर सकते हैं, उदाहरण के लिए:
<!-- this could be inside a repeater or another control -->
<asp:Hyperlink runat="server" ID="demo"
NavigateUrl="page.aspx?id=<%# Eval("id") %>" />
<% //without this bind the <%# will be ignored
void Page_Load(object sender, EventArgs e) {
demo.DataBind();
//or
repeaterWithManyLinks.DataBind();
}
%>
अपने विशिष्ट मामले के लिए आप या तो:
- के साथ एक पुनरावर्तक और
<%# Eval(...) %>
repeater.DataBind();
या
- उपयोग एक foreach पाश (
<% foreach(... %>
) के साथ प्रयोग करें<%= ... %>
संबंधित मुद्दे
- 1. मानचित्र के साथ <form:select> टैग का उपयोग करें
- 2. प्रेत <br> टैग <table> टैग
- 3. कैसे अंदर <CFScript>
- 4. किसी वेबसाइट (एएसपीनेट सी #)
- 5. मैं <td> टैग के अंदर xpath/htmlwebunit
- 6. <td> के अंदर एक सेल (<table>) के अंदर टेक्स्ट-एलाइन करें
- 7. क्या यह <section> टैग को अन्य <section> टैग के अंदर मान्य है?
- 8. <a> टैग
- 9. <script> टैग
- 10. <button> टैग
- 11. <meta> टैग
- 12. क्या <?php> टैग के अंदर हर PHP कोड स्निपेट का अपना वैरिएबल स्कोप है?
- 13. <script> टैग स्थिति
- 14. क्यों <style> एचटीएमएल <body> टैग के भीतर टैग W3C पर मान्य नहीं हो सकता है?
- 15. jquery <a> टैग इवेंट
- 16. <img> टैग
- 17. <span> टैग
- 18. एचटीएमएल टैग के अंदर सीएसएस होवर का उपयोग कैसे करें?
- 19. <form> टैग
- 20. एएसपीनेट पृष्ठ पर फॉर्म टैग
- 21. स्क्रिप्ट टैग के अंदर HTML इकाइयां परिवर्तित नहीं हुईं?
- 22. <label> का उपयोग क्यों करें?
- 23. पेज एएसपीनेट
- 24. जावास्क्रिप्ट और `<> ...</>` टैग
- 25. स्प्रिंग</textarea> टैग
- 26. <c:set> में <c:foreach> टैग
- 27. <services> टैग
- 28. एक पाठ चयन के अंदर सभी <img> टैग कैसे प्राप्त करें?
- 29. <audio> टैग
- 30. <marquee> एचटीएमएल टैग उपयोग/प्रतिलिपि
<% = और <% #, जिसमें समस्याओं पैदा करेगा ज्यादातर परिस्थितियों में। <% = पुनरावर्तक के अंदर काम नहीं करेगा और <% # तब तक काम नहीं करेगा जब तक कि डेटाबिंड() को कॉल नहीं किया जाता है। – Keith
@ केथ: आप गलत हैं। मैंने दोहराए जाने के लिए दोहराने के अंदर <%= "Test" %> की कोशिश की और यह ठीक काम करता है। <% # केवल डाटाबेस() के साथ काम करता है जो मामला है। – Sergio
क्षमा करें, हां, <% = किसी भी संग्रह शैली नियंत्रण वाले उपरोक्त नियंत्रण पदानुक्रम के आधार पर पुनरावर्तकों में काम कर सकता है। असल में <% = आगे रीडिंग पेज%> कभी-कभी पुनरावर्तक में काम करेगा, जबकि <% # आगे रीडिंग पेज%> हमेशा होगा। – Keith