@{
Layout = null;
string root = Server.MapPath("~");
string path = @"Content\galleries\galleries\";
DirectoryInfo Dir = new DirectoryInfo(root + path + (string)ViewData["Name"]);
FileInfo[] FileList = Dir.GetFiles("*.jpg");
string response = "";
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script type="text/javascript">
jQuery(function ($) {
var array = new Array();
var galleryname = '@ViewData["Name"]';
@for (int i = 0; i < FileList.Length; i++)
{
string s = @"
var path = '../Content/galleries/galleries/" + @ViewData["Name"] + @"/" + @FileList[i].Name + @"';
var thumbpath = '../Content/galleries/galleries/" + @ViewData["Name"] + @"/thumbs/" + @FileList[i].Name + @"';
array[" + i.ToString() + @"] =
{
image: path,
title: '" + @ViewData["Name"] + @"',
thumb: thumbpath,
url: path
};";
response += s;
}
@response
这是我的代码。我想用 asp.net 动态编写一些 javascript 代码。当我使用 @response 打印字符串 'response' 时,在页面源代码中我可以看到所有 ' 字符都更改为 & #39; . 那么所有的路径都是坏的。我还尝试在循环中使用 Response.Write(s),并且 ' 字符没有改变,但是生成的代码被放置在页面源代码的最开头,在 doctype 之前,当然,没有任何效果。
如何解决这些问题?或者至少其中一个;)?还是有其他方法?