2012-07-10 79 views
2

我有以下部分「InfoWindowContent」視圖。如何在aspnet中渲染局部視圖爲javascript字符串mvc

@model CasWeb.Models.ViewModels.AssetLocation 
<div> 
    <h2>@Model.Name</h2> 
    <table> 
     <tr> 
      <td> 
       Lat: 
      </td> 
      <td>@Model.Lat 
      </td> 
     </tr> 
     <tr> 
      <td> 
       Lng: 
      </td> 
      <td>@Model.Lng 
      </td> 
     </tr> 
    </table> 
</div> 

我想使用它作爲谷歌地圖信息窗口的內容。所以我一直在想這樣的事情

//Get the content for info window for this asset from a a partial view 
      var [email protected](asset.Name) = "@Html.Action("InfoWindowContent", @asset)"; 

      var [email protected](asset.Name) = new google.maps.InfoWindow({ 
       content: [email protected](asset.Name), 
       maxWidth: 200 
      }); 

我的問題是,Java腳本訴其聯合國結尾的字符串字面量,作爲@ html.Action方法返回與它的所有換行符的局部視圖我結束了與像Java腳本代碼:

var infoWindowContentd4444444 = "<div> 
<h2>d4444444</h2> 
<table> 
    <tr> 
     <td> 
      Lat: 
     </td> 
     <td>43 
     </td> 
    </tr> 
    <tr> 
     <td> 
      Lng: 
     </td> 
     <td>43 
     </td> 
    </tr> 
</table> 

「;

我能解決這個問題是從我像局部視圖刪除所有換行符:

@model CasWeb.Models.ViewModels.AssetLocation 
<div><h2>@Model.Name</h2><table><tr><td>Lat:</td><td>@Model.Lat</td></tr><tr><td>Lng:</td><td>@Model.Lng</td></tr></table></div> 

但這是一種痛苦,很難維持。

任何想法如何將部分視圖呈現爲java腳本字符串?

回答

0

更好地創建一個更多的操作並從操作返回PartialViewResult。爲此操作提供Json請求並在DIV中追加HTML響應。請查找更多詳情here