javascript - 如何命名特定于将其封装在 ASP.NET MVC 中的 div id 的 Javascript 函数

标签 javascript asp.net-mvc

我有一个部分 View ,我试图将其加载到 cshtml 文件中两次。

现在在我的部分 View 中我也有一个 javascript 函数。此时,当我加载我的 cshtml 到页面上,我将有两个同名的 Javascript 函数。

我想避免这种情况,并根据我将部分 View 绑定(bind)到的模型来唯一命名 Javascript 函数。

请注意,我可以通过将部分内的每个控件与“@Model.Id”等参数关联来实现其唯一性。但由于 Javascript 函数的独特性,我无法应用同样的东西。

我很抱歉我的英语不好。如果您需要更多详细信息,请告诉我。

最佳答案

您可以使用一个对每个控件进行操作的 JavaScript 函数,而不是为每个部分提供许多具有不同名称的函数。例如,您可以为这些控件分配一个类,然后以 jQuery plugin 的形式编写函数。附加到具有该类名的所有控件。

现在可以在单独的 javascript 文件中声明该函数,而无需在部分中混合标记和 javascript,这是一个糟糕的设计。然后,该插件可以使用标准 jQuery 语法简单地附加到此类的所有控件:

$(function() {
    $('.someClass').myFunction();
});

您还可以在 DOM 元素上使用 HTML5 data-* 属性将一些元数据与其关联,例如来自模型的唯一标识符。然后可以在您的 jQuery 插件中访问此元数据。

例如:

<div class="someClass" data-id="@Model.Id">
    This is some div with associated metadata
</div>

关于javascript - 如何命名特定于将其封装在 ASP.NET MVC 中的 div id 的 Javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14671204/

相关文章:

javascript - history.js + 谷歌

Javascript 正则表达式忽略反斜杠句点要求

asp.net-mvc - 尝试在包管理器控制台中执行添加迁移命令时收到错误

jquery - 如何使用多个 (50+) 字段进行 POST API 调用

javascript - 我可以在一条语句中用函数对象声明属性吗

javascript - handsontable 中的默认可折叠组

javascript - 在使用正则表达式匹配之前检查内容

c# - 不使用模型将两个对象从 Controller 传递到 View

c# - 第一个 View 必须始终称为 index.aspx 吗?

asp.net-mvc - MVC - Asp.Net 身份。用户登录时如何登录到数据库