0

所以,我有以下布局(Monorail 2.1,NVelocity View Engine):

<!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">
<head>
<title>$Title</title>
<link rel="stylesheet" type="text/css" href="/Content/Site.css">
<link rel="stylesheet" type="text/css" href="/Content/Bootstrap/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/Content/Bootstrap/bootstrap-responsive.min.css">
<link rel="stylesheet" type="text/css" href="/Content/Bootstrap/bootstrap-image-gallery.min.css">
<link rel="stylesheet" type="text/css" href="/Content/FileUpload/jquery.fileupload-ui.css">
<script type="text/javascript" src="/Scripts/jquery-1.7.1.min.js">
<script type="text/javascript" src="/Scripts/jquery-ui-1.8.11.js">
<script type="text/javascript" src="/Content/FileUpload/load-image.min.js">
<script type="text/javascript" src="/Content/FileUpload/canvas-to-blob.min.js">
<script type="text/javascript" src="/Content/FileUpload/tmpl.min.js">
<script type="text/javascript" src="/Content/Bootstrap/bootstrap.min.js">
<script type="text/javascript" src="/Content/Bootstrap/bootstrap-image-gallery.min.js">
<script type="text/javascript" src="/Content/FileUpload/jquery.fileupload.js">
<script type="text/javascript" src="/Content/FileUpload/jquery.iframe-transport.js">
<script type="text/javascript" src="/Content/FileUpload/jquery.fileupload-ip.js">
<script type="text/javascript" src="/Content/FileUpload/jquery.fileupload-ui.js">
<script type="text/javascript" src="/Content/FileUpload/locale.js">
<script type="text/javascript" src="/Content/FileUpload/main.js">
</head>
<body>
        $childContent

</body>
</html>

以及以下观点:

<body>

    <div class="page">
        <div id="header">
            <div id="title">
                <h1>jQuery-File-Upload MVC3 Demo</h1>
            </div>
        </div>
        <div id="main">
<!-- Shim to make HTML5 elements usable in older Internet Explorer versions -->
<!--[if lt IE 9]><script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->

<form id="fileupload" action="/Upload/UploadHandler.ashx" method="POST" enctype="multipart/form-data">
        <!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload -->
        <div class="row fileupload-buttonbar">
            <div class="span7">
                <!-- The fileinput-button span is used to style the file input field as button -->
                <span class="btn btn-success fileinput-button">
                    <i class="icon-plus icon-white"></i>
                    <span>Add files...</span>
                    <input type="file" name="files[]" multiple>
                </span>
                <button type="submit" class="btn btn-primary start">
                    <i class="icon-upload icon-white"></i>
                    <span>Start upload</span>
                </button>
                <button type="reset" class="btn btn-warning cancel">
                    <i class="icon-ban-circle icon-white"></i>
                    <span>Cancel upload</span>
                </button>
                <button type="button" class="btn btn-danger delete">
                    <i class="icon-trash icon-white"></i>
                    <span>Delete</span>
                </button>
                <input type="checkbox" class="toggle">
            </div>
            <div class="span5">
                <!-- The global progress bar -->
                <div class="progress progress-success progress-striped active fade">
                    <div class="bar" style="width:0%;"></div>
                </div>
            </div>
        </div>
        <!-- The loading indicator is shown during image processing -->
        <div class="fileupload-loading"></div>
        <br>
        <!-- The table listing the files available for upload/download -->
        <table class="table table-striped"><tbody class="files" data-toggle="modal-gallery" data-target="#modal-gallery"></tbody></table>
    </form>

    <!-- modal-gallery is the modal dialog used for the image gallery -->
    <div id="modal-gallery" class="modal modal-gallery hide fade">
        <div class="modal-header">
            <a class="close" data-dismiss="modal">&times;</a>
            <h3 class="modal-title"></h3>
        </div>
        <div class="modal-body"><div class="modal-image"></div></div>
        <div class="modal-footer">
            <a class="btn btn-primary modal-next">
                <span>Next</span>
                <i class="icon-arrow-right icon-white"></i>
            </a>
            <a class="btn btn-info modal-prev">
                <i class="icon-arrow-left icon-white"></i>
                <span>Previous</span>
            </a>
            <a class="btn btn-success modal-play modal-slideshow" data-slideshow="5000">
                <i class="icon-play icon-white"></i>
                <span>Slideshow</span>
            </a>
            <a class="btn modal-download" target="_blank">
                <i class="icon-download"></i>
                <span>Download</span>
            </a>
        </div>
    </div>
#include("_templates.html")
        </div>
        <div id="footer">
        </div>
    </div>

其中包括以下 html 文件 (_templates.html):

<!-- The template to display files available for upload -->
<script id="template-upload" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
    <tr class="template-upload fade">
        <td class="preview"><span class="fade"></span></td>
        <td class="name"><span>{%=file.name%}</span></td>
        <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
        {% if (file.error) { %}
            <td class="error" colspan="2"><span class="label label-important">{%=locale.fileupload.error%}</span> {%=locale.fileupload.errors[file.error] || file.error%}</td>
        {% } else if (o.files.valid && !i) { %}
            <td>
                <div class="progress progress-success progress-striped active"><div class="bar" style="width:0%;"></div></div>
            </td>
            <td class="start">{% if (!o.options.autoUpload) { %}
                <button class="btn btn-primary">
                    <i class="icon-upload icon-white"></i>
                    <span>{%=locale.fileupload.start%}</span>
                </button>
            {% } %}</td>
        {% } else { %}
            <td colspan="2"></td>
        {% } %}
        <td class="cancel">{% if (!i) { %}
            <button class="btn btn-warning">
                <i class="icon-ban-circle icon-white"></i>
                <span>{%=locale.fileupload.cancel%}</span>
            </button>
        {% } %}</td>
    </tr>
{% } %}
</script>
<!-- The template to display files available for download -->
<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
    <tr class="template-download fade">
        {% if (file.error) { %}
            <td></td>
            <td class="name"><span>{%=file.name%}</span></td>
            <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
            <td class="error" colspan="2"><span class="label label-important">{%=locale.fileupload.error%}</span> {%=locale.fileupload.errors[file.error] || file.error%}</td>
        {% } else { %}
            <td class="preview">{% if (file.thumbnail_url) { %}
                <a href="{%=file.url%}" title="{%=file.name%}" rel="gallery" download="{%=file.name%}"><img src="{%=file.thumbnail_url%}"></a>
            {% } %}</td>
            <td class="name">
                <a href="{%=file.url%}" title="{%=file.name%}" rel="{%=file.thumbnail_url&&'gallery'%}" download="{%=file.name%}">{%=file.name%}</a>
            </td>
            <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
            <td colspan="2"></td>
        {% } %}
        <td class="delete">
            <button class="btn btn-danger" data-type="{%=file.delete_type%}" data-url="{%=file.delete_url%}">
                <i class="icon-trash icon-white"></i>
                <span>{%=locale.fileupload.destroy%}</span>
            </button>
            <input type="checkbox" name="delete" value="1">
        </td>
    </tr>
{% } %}
</script>

问题?当我将脚本和链接标签留在头标签中时,如上所示,浏览器会向我显示:

<!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">
<head>
<title>File Upload Tests</title>
<link href="/Content/Site.css" type="text/css" rel="stylesheet">
<link href="/Content/Bootstrap/bootstrap.min.css" type="text/css" rel="stylesheet">
<link href="/Content/Bootstrap/bootstrap-responsive.min.css" type="text/css" rel="stylesheet">
<link href="/Content/Bootstrap/bootstrap-image-gallery.min.css" type="text/css" rel="stylesheet">
<link href="/Content/FileUpload/jquery.fileupload-ui.css" type="text/css" rel="stylesheet">
<script src="/Scripts/jquery-1.7.1.min.js" type="text/javascript">
<script id="template-download" type="text/x-tmpl">
</head>
<body>
<div id="footer"> </div>
</body>
</html>

什么……?我的页面的其余部分在哪里?NVelocity 吃了吗?

但是如果我将脚本和链接标签放在正文标签的末尾,它会给我这个(调用视图的内容在那里,但为了清楚起见,没有在这篇文章中显示):

    <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<body>
<div class="page">
<div id="header">
<div id="main">
<form id="fileupload" enctype="multipart/form-data" method="POST" action="/Upload/UploadHandler.ashx">
<div id="modal-gallery" class="modal modal-gallery hide fade">
<script id="template-upload" type="text/x-tmpl">
<script id="template-download" type="text/x-tmpl">
</div>
<div id="footer"> </div>
</div>
<link href="/Content/Site.css" type="text/css" rel="stylesheet">
<link href="/Content/Bootstrap/bootstrap.min.css" type="text/css" rel="stylesheet">
<link href="/Content/Bootstrap/bootstrap-responsive.min.css" type="text/css" rel="stylesheet">
<link href="/Content/Bootstrap/bootstrap-image-gallery.min.css" type="text/css" rel="stylesheet">
<link href="/Content/FileUpload/jquery.fileupload-ui.css" type="text/css" rel="stylesheet">
<script src="/Scripts/jquery-1.7.1.min.js" type="text/javascript">
</body>
</html>

其余的脚本标签在哪里?

4

0 回答 0