2012-09-03 10 views
5

पर क्लिक करके एक फ़ाइल खोलने के लिए मैं इस तालिकाकैसे हाइपरलिंक

enter image description here

मैं लिंक और फ़ाइल (जो भी फाइल) एक नया पॉप-अप विंडो में खोला जाएगा पर क्लिक करना चाहते हैं।

<asp:Repeater ID="dokumente" runat="server"> 
    <ItemTemplate> 
     <tr> 
      <td><asp:HyperLink ID="HyperLink4" runat="server" Text='<%# Eval("DokuTyp") %>' NavigateUrl='file://<%# Eval("File") %>'></asp:HyperLink></td> 
      <td><%# Eval("Description")%></td> 
      <td><%# Eval("Date") %></td> 
      <td><%# Eval("File") %></td> 
     </tr> 
    </ItemTemplate> 
</asp:Repeater> 

लेकिन यह NavigateUrl साथ काम नहीं करता:

यहाँ मेरी कोड है। क्या कोई इस पर या किसी भी विचार को मेरी मदद करने में मदद कर सकता है। धन्यवाद

+2

आप एक कॉलम "DokuTyp" जो मौजूद नहीं है की बात कर रहे पर फ़ाइल खोजने के लिए चाहते हैं, टेबल संरचना के अपने स्क्रीनशॉट के अनुसार है। अगला: "यह काम नहीं करता है" आमतौर पर सबसे खराब त्रुटि विवरण है, मैं कल्पना कर सकता हूं। तीसरा: HTTP सर्वर के भीतर से सर्वर-स्थानीय फ़ाइल को इंगित करना, अधिकतर कभी गलत है, जब तक कि आप सर्वर पर ब्राउज़र का उपयोग नहीं कर लेते। –

+0

क्या समस्या या त्रुटि आई? – SMK

+0

उवे: नमस्ते, कॉलम मौजूद है और इसमें कोई त्रुटि नहीं है :) एसएमके: हाय, कोई समस्या या त्रुटि नहीं हुई है, जब मैंने लिंक पर क्लिक किया तो कुछ भी नहीं हुआ। मुझे लगता है कि NavigateUrl निश्चित रूप से गलत है। – Ragnarsson

उत्तर

5

फ़ाइल: /// आपकी मशीन पर संसाधनों के लिए है।

सर्वर पर फ़ाइलों को खोलने के लिए, आपको सर्वर पर यूआरएल से लिंक करना होगा। उपयोग:

HttpContext.Current.Request.ResolveUrl(pathOnServer); 

इस तरह अपने कोड में परिवर्तित करें:

<asp:Repeater ID="dokumente" runat="server"> 
    <ItemTemplate> 
     <tr> 
      <td><asp:HyperLink ID="HyperLink4" runat="server" Text='<%# Eval("DokuTyp") %>' NavigateUrl='<%# HttpContext.Current.Request.ResolveUrl(Eval("File")) %>'></asp:HyperLink></td> 
      <td><%# Eval("Description")%></td> 
      <td><%# Eval("Date") %></td> 
      <td><%# Eval("File") %></td> 
     </tr> 
    </ItemTemplate> 
</asp:Repeater> 

कहाँ सर्वर

+0

मुझे त्रुटि मिल रही है "ResolveUrl System.Web.HttpRequest का सदस्य नहीं है" – chamara

+0

आप इसका उपयोग कहां कर रहे हैं? यह नियंत्रण के लिए उपलब्ध एक विस्तार विधि है। – nunespascal

1

"फ़ाइल" प्रोटोकॉल उपयोगकर्ता कंप्यूटर में एक फ़ाइल खोलता है। मुझे लगता है कि आपको सर्वर-साइड पर फ़ाइल को पढ़ना होगा और Resposne.Write को कॉल करना होगा।

0

यदि आप सर्वर पर फ़ाइल को खोजने के लिए चाहते हैं आप Server.MapPath विधि का उपयोग कर सकते हैं; "फाइल: //" नहीं सही यूआरएल यदि आप सर्वर

NavigateUrl=<%#Server.MapPath(DataBinder.Eval("File"))%> 

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

  • कोई संबंधित समस्या नहीं^_^