【发布时间】:2011-11-27 13:49:26
【问题描述】:
我有一个必须在运行时生成的 javascript。脚本的文本是在控制器类中生成的:
private string mapString
{
get
{
Locations loc = new Locations();
string appPath = Request.ApplicationPath;
loc.ReadXml(Path.Combine(Request.MapPath(appPath) + "\\App_Data", "Locations.xml"));
StringBuilder sb = new StringBuilder();
for (int i = 0; i < loc.Specfications.Count; i++)
{
sb.Append("var myLatLng" + i.ToString() + "= new google.maps.LatLng(" + loc.Specfications[i].Y.ToString() + "," +
loc.Specfications[i].X.ToString() + ");");
sb.Append(" var beachMarker" + i.ToString() + " = new google.maps.Marker({position: myLatLng" + i.ToString() + ",map: map,icon: image,title:'" + loc.Specfications[i].Title + "'});");
....
...
...
ViewData["MapString"] = mapString;
当我在脚本标签中使用它时:
<script type="text/javascript">
function initialize() {
@Server.HtmlDecode(ViewData["MapString"].ToString())
}
</script>
它不会返回一个真正的文本,它会重新运行如下内容:
contentString0 = ' 【问题讨论】:
标签: asp.net-mvc-3 razor