2011-04-23 23 views
8

में जावास्क्रिप्टसेरलाइज़र के साथ उद्धरण से बचने के लिए मेरे पास उपयोगकर्ताओं का एक ऐरे है जो मैं जावास्क्रिप्ट सरणी के रूप में एक दृश्य में पास करना चाहता हूं। मैं जावास्क्रिप्टसेरियलाइज़र के माध्यम से ऐसा कर रहा हूं, लेकिन मुझे जो स्ट्रिंग मिलती है, उसमें अनचाहे उद्धरण हैं।एएसपी.नेट एमवीसी 3

नियंत्रक कार्रवाई

सार्वजनिक आभासी ActionResult बनाएँ (पूर्णांक आईडी) {

 var viewModel = new AttendeeViewModel(); 

     var data = viewModel.GetMembershipUserList() ; 

     viewModel.MeetingID = id; 

     viewModel.Users = new JavaScriptSerializer().Serialize(data.ToArray()); 

     return View(viewModel); 
    } 

देखें

<script type="text/javascript"> 

    var tags = @Model.Users 

    $(document).ready(function() { $("#mytags").tagit({ availableTags:tags}); }); 
</script> 

ViewModel

public class AttendeeViewModel 
{ 

    public int AttendeeId { get; set; } 
    public string Name { get; set; } 
    public int MeetingID { get; set; } 
    public string Users { get; set; } 

    public List<string> GetMembershipUserList() 
    { 
     List<string> userNames = new List<string>(); 
     foreach (MembershipUser user in Membership.GetAllUsers()) 
     { 
      userNames.Add(user.UserName); 
     } 

     return userNames; 

    } 
} 

गु क्या Model.Users

[&quot;DennisLeary&quot;,&quot;BobSaget&quot;,&quot;BillHicks&quot;] 

के रूप में उत्पादन मैं कैसे JavaScriptSerializer, या किसी अन्य विधि के साथ उद्धरण से बचने करते है?

उत्तर

21

उपयोग Html.Raw()

रिटर्न मार्कअप कि HTML एनकोड नहीं है।

var tags = @Html.Raw(Model.Users); 
+0

कई, कई, बहुत धन्यवाद। – MrBliz

+0

धन्यवाद! मैंने अजीब समाधानों को देखा जहां लोग इस समस्या को ठीक करने के लिए .replace (...) जोड़ देंगे। उपयुक्त एक के लिए धन्यवाद! –

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