我有一个部分 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/