我不确定最好的方法。
基本上,我有一个局部视图,可以多次放在页面上,在局部视图中,它包含jQuery,它可以绑定某些事件,以查找页面上可能发生的事情。例如,按钮点击等。
现在,使用jQuery选择器,您可以使用ID来定位页面上的内容(我不能这样做,因为页面上的多个内容将具有相同的ID)。你也可以使用类名来选择东西,但这也不会起作用,因为对于每个局部视图,它们都会相互瞄准,这是不可能发生的。
我需要每个jQuery只能从它自己的局部视图中选择一些东西。我该怎么做?
我只能想到一种方法,而且看起来有点像黑客。但我基本上可以创建一个包含字符串的模型,该字符串将是包围局部视图的容器的选择器。然后在视图中它将使用选择器以及它将正常使用的普通类名称。
有更好的方法吗?
答案 0 :(得分:1)
我会确保你的部分视图的内容包含在某种独特标记的div中(无论是id还是class或者其他什么)。将范围限制为该id。
我想我可能会将Id定义为部分顶部的var myId = Guid.NewGuid().ToString("N");
,并确保部分内容内容包含在<div id="@myId">
之类的内容中...然后在您的jquery中使您的选择器将范围限制为@myId
答案 1 :(得分:0)
我认为这是一种更简单的方法! 这是关于.parents()jQuery方法,你可以找到点击按钮的父级或等等。
这样做有效:
像这样编写脚本:
$(document).ready(function(){
$("#pView #btnDelete").click(function() {
var partialView = $(this).parents("#pView");
// Now you detect what pView should be deleted!
// this.parents("#pView") means select the parent with id = "pView"
// ...
});
});