【发布时间】:2010-01-18 00:25:19
【问题描述】:
我有一堆代码在其中动态地在 javascript 中创建下拉框。为了预先准备下拉项目列表,我经常有类似于下面的代码,我从我的模型中“注入”到数据项数组中,所以我有 javascript 函数内的代码。
这很好用,只是我现在有类似的代码,我想跨文件重用,因为我不想复制和粘贴代码。问题是,通常我会将我的 javascript 代码移动到单独的 .js 文件中并将其导入到我的多个视图中,但在这种情况下,我不能因为 代码在 .js 文件中不起作用。
关于如何避免在此处复制和粘贴解决方案的任何建议?
$(".dependencyAddButton").click(function() {
var tblID = $(this).prev("table").attr("id");
var lastRow = GetLastRow(tblID);
var existingItems = GetExistingItems('#' + tblID);
<%= myHTMLhelper.ShowArray(Model.AllApplications, "components", "componentIds") %>
【问题讨论】:
-
我根本不了解 ASP(也不了解 .NET),但基本原理与 LAMP(Linux/Apache/PHP)堆栈上的相同:您需要更改您的Web 服务器设置,以便 .js 文件由 ASP 解析,或者 - 更容易 - 让您的页面指向 .asp 文件(或任何您的扩展名)而不是 .js 文件。在这种情况下,您将能够在其中使用
<% %>。如果您使用后者,您可能需要发送一个content-type: text/javascript标头以确保它在任何地方都能正常工作。 -
这段代码有什么作用:
<%= myHTMLhelper.ShowArray(Model.AllApplications, "components", "componentIds") %>? -
它生成一个javascript行; var 数组 = 新数组 {1,2,3,4}
标签: javascript jquery asp.net-mvc