Ürün stok sayfasındaki sonuçları sıralamak için bir açılırma listesi için bazı JavaScript'im var. Internet Explorer'da sıralama iyi çalışıyor ve tarayıcı bunu mükemmel bir şekilde ele alıyor.Neden bu açılır liste, Internet Explorer'da çalışma sıralama için değil, Chrome'da mı çalışıyor?
MyExampleSite.com: Ancak Chrome'da her zaman (? Eğer, bir şey IE ile çalışır fakat Chrome harici inanabilir)
IE'deBen URL şöyle Sıralama Kriteri'ni kullanmak başarısız/Malzemeleri/Ürünler/12345/myProduct/a = 0
Chrome'da Sıralama Kriteri'ni yapmak Ancak burada URL neye benzediği:?
MyExampleSite.com/Supplies/Products/12345/Benim ürünüm/? & amp; a = 0
bunu URL'ye amp ekler ve ben sadece eklemek sıralamak için denemeye devam eğer ek bir amfi her bulunuyor görebileceğiniz gibi.
$("[name=a]").change(function() {
window.location = '@(this.Model.SortUri)' + '@(this.Model.SortUri.IndexOf('?') == -1 ? "?" : "&")a=' + this.value;
});
Benim Çözüm böyle Html.Raw
eklemek oldu:
$("[name=a]").change(function() {
window.location = '@(this.Model.SortUri)' + '@Html.Raw(this.Model.SortUri.IndexOf('?') == -1 ? "?" : "&")a=' + this.value;
});
Ve birden IE ve Chrome'da çalışıyor İşte
benim sorunlara neden JavaScript'tir.Sorunun nedeni, Chrome'un bunu neden gerçekleştirdiğini, ancak IE'yi değil mi?
@ Html.Raw() Razor'un bir parçasıdır. Bu muhtemelen JavaScript ile daha az ve daha fazlası var. Ayrıca daha iyi bir başlığa ihtiyaç duyar - bu soruya verilen cevap biraz kafa karıştırıcıdır, çünkü çözüm * her iki tarayıcıda da çalışır. – BoltClock
Düzenledim. İşaretçiler için teşekkürler. – maxshuty
'&' url kodlamasına ait değil, bir html öğesi ... IE'nin ilk etapta olmaması gerektiği için uygun olmadığını kabul ettiği gerçeği – charlietfl