Asp.net kullanıcı denetimi yazıyorum. Bir özelliğe sahiptir, FurtherReadingPage ve buna bağlı iki denetim vardır: ObjectDataSource ve Repeater. Repeater İçinde FurtherReadingPage + "?id=" + Eval("Id")
gibi bir şeye ayarlanmış bir href özelliği olan bir köprü görüntülemek istiyorum. Bunu sayfanın işaretlemesi içinde nasıl yapacağımı bilmiyorum. Tek başına <% Eval("Id") %>
veya <% Response.Write(FurtherReadingPage + "?id=") %>
kullanabilirim ama nasıl karıştırılacağını bilmiyorum.Asp.net sayfasında <% ... %> etiketleri içinde C# kodu nasıl kullanılır?
8
A
cevap
3
Böyle yapabilirsin -
<asp:Hyperlink runat="Server" ID="hlLink" NavigateUrl='<%# FurtherReadingPage + "?Id=" + DataBinder.Eval(Container.DataItem, "Id") %>' />
1
bu (bağlantı olarak örnek) deneyin: <a href='<%=FurtherReadingPage %>?id=<%# Eval("Id") %>'>My link</a>
3
bu deneyin:
<%#String.Format("{0}?id={1}",FurtherReadingPage, Id)%>
17
Farklı etiketlerin bir çift var:
<%
, iç kodu şu kodu çalıştırır:
<% int id = int.Parse(Request["id"]); %>
içindeki kod dışarı yazıyor:
<%=id %> <!-- note no ; -->
<!-- this is shorthand for: -->
<% Response.Write(id); %>
sayfada görüntülendiğinde zaman Asp.net <head runat="server">
sen olacak normal bunları kullanırsanız Bunların her ikisi, örneğin normal akışını parçalamak sorun çıkar.
<%#
veri bağlama:
<%# Eval("id") %>
Bu mesela, Asp.net WebForms bir koleksiyon (yerine, birlikte <%=
kullanabilirsiniz değişmez kontroller) olarak işlemek denetimler için bağlamalarını belirlemenizi sağlar:
<!-- 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();
}
%>
sen ya:
- ile
repeater.DataBind();
veya
- kullan foreach döngüsü (
<% foreach(... %>
) bir tekrarlayıcı ve<%# Eval(...) %>
kullanım<%= ... %>
İlgili konular
- 1. Kendo UI Düzenleyicisi asp.net mvc3'te ustura ile nasıl kullanılır?
- 2. asp.net <%$ ... %> sözdizimi
- 3. C# içinde Kılavuzlar nasıl kullanılır?
- 4. vector <int> :: size_type C++ içinde
- 5. Kirazlı çerçeve içinde html dosyası içinde python kodu nasıl kullanılır?
- 6. SEO: <button> vs <a> HTML etiketleri
- 7. biri <th> ile etiketleri
- 8. ASP.NET Çubuk Tablosu etiketleri
- 9. Yapı etiketleri nasıl düzgün kullanılır?
- 10. <a1> C</ a1>
- 11. Oluşturulan ASP.Net <form> kimliğini değiştirme? işaretleme oluşturulur zaman benim ASP.Net sayfasında
- 12. Geowithin mongodb içinde nasıl kullanılır? , <code>$geoWithin</code> kullanırken
- 13. Liste <T> veya Dictionary <T,T2>, C# WinRT bileşeninde nasıl kullanılır
- 14. base.OnLoad (e) bir ASP.NET sayfasında
- 15. <button> içinde <a> içinde değil SharePoint sayfa
- 16. C# kodu
- 17. JToken.ToObject <>() yöntemiyle JsonConverter nasıl kullanılır?
- 18. Tüm görünümde <p:blockUI> nasıl kullanılır?
- 19. Nasıl kullanılır? "<% = Request.getContextPath()%>" daha iyi "../"
- 20. Task.Run nasıl kullanılır (İşlem <T>)
- 21. C# içinde bir SafeBuffer nasıl kullanılır? #
- 22. 1 StreamReader, C# (newbie) içinde nasıl kullanılır
- 23. SortedDictionary, C# içinde nasıl düzgün kullanılır?
- 24. C# içinde LabVIEW Özellik Düğümü nasıl kullanılır?
- 25. ASP.net sayfasında Koşullu Mantık sayfası
- 26. Hizmet ASP.NET sayfasında ASP.NET ile istekleri
- 27. <% @ Page Language = "C#"%> nedeniyle oluşan sözdizimi hatası? ASP.Net
- 28. Etiketleri .net içinde yönetme
- 29. Bir metin seçiminin içine <img> etiketleri nasıl alınır?
- 30. Meta etiketleri kullanarak HTML'de otomatik yenileme kodu
Bu karışımları <% = ve sorun yaratacak <% # çoğu durum. <% = Repeater içinde çalışmaz ve DataBind() çağrılmadıkça <% # çalışmaz. – Keith
@Keith: Yanılıyorsunuz. Tekrar kontrol etmek için bir tekrarlayıcıda <%= "Test" %>'u denedim ve tamam çalışıyor. <% # yalnızca, Databind() ile çalışır. – Sergio
Üzgünüz, evet, <% = yukarıdaki herhangi bir koleksiyon stili denetimi içermeyen kontrol hiyerarşisine bağlı olarak tekrarlayıcılarda çalışabilir. Temel olarak <% = FurtherReadingPage%> bazen tekrarlayıcıda çalışır, <% # FurtherReadingPage%> ise her zaman olacaktır. – Keith