簡體   English   中英

ASP.NET MVC2生成的Javascript包含逗號,該逗號在Internet Explorer中破壞腳本,內部包含代碼

[英]ASP.NET MVC2 Generated Javascript contains comma that breaks script in Internet Explorer, code inside

我有以下代碼,該代碼在除IE之外的所有瀏覽器中都可以正常工作

<script type="text/javascript">

   if (!window.slider) var slider = {}; slider.data = [<% foreach (var item in Model) {%>{ "id":"<%: item.ImageID %>", "client":"<%: item.ContentTitle %>", "desc":"<%: item.ContentDescription %>" },<%} %> ];

</script>

問題在於逗號分隔正在生成的每個值。 如果有逗號且沒有處理價值,Internet Explorer會拋出一個合適的值,因此我需要一種生成代碼的方法,而該代碼在集合的最后一項上沒有逗號。 我是否采用正確的方法? 謝謝,請訪問http://hub.mhn.co,獲取正在使用的代碼(我歡迎並感謝任何評論或反饋,因為這是我的第一個MVC網站^ _ ^)。

是的,IE不喜歡在數組或對象上尾隨逗號。 解決該問題,它應該可以工作。 一種快速的解決方法是將字符串存儲在數組中,然后對C#中的字符串使用join操作/方法。

這應該工作

if (!window.slider) var slider = {}; 
slider.data = [];   
<% foreach (var item in Model) {%>
    slider.data.push({"id":"<%: item.ImageID %>", "client":"<%: item.ContentTitle %>", "desc":"<%: item.ContentDescription %>" });
<% } %>         
<script type="text/javascript">

   if (!window.slider) var slider = {}; 
   slider.data = [<% = string.Join(",", Model.Select(item=> "{ id:\""+ item.ImageID +"\", client:\""+ item.ContentTitle "\", desc:\""+item.ContentDescription "\" }").ToArray())  ];

</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM