Javascript 如何在MVC4Razor中设置ID并动态使用它?

Javascript 如何在MVC4Razor中设置ID并动态使用它?,javascript,jquery,asp.net-mvc,attributes,click,Javascript,Jquery,Asp.net Mvc,Attributes,Click,我在foreach中有html元素。我无法手动向这些用户声明ID名称。 我使用id='ProductSelect@item.id'设置id: foreach (var item in Model) { <a href="#" id='ProductSelect_@(item.Id)' class="select-link">Select this</a> } 编辑: 此单击功能向控制器发送请求迭代次数。我的代码有什么问题?我建议使用属性 fo

我在foreach中有html元素。我无法手动向这些用户声明ID名称。 我使用id='ProductSelect@item.id'设置id:

  foreach (var item in Model)
   {
     <a href="#" id='ProductSelect_@(item.Id)' class="select-link">Select this</a>
   }
编辑:


此单击功能向控制器发送请求迭代次数。我的代码有什么问题?

我建议使用属性

 foreach (var item in Model)
   {
     <a href="#" data-id='@item.Id' id='ProductSelect_@(item.Id)' class="select-link">Select this</a>
   }

这样,您就可以连接到所有类似的链接,例如,选择列表,而每个id没有单独的处理程序函数。

$'a'。单击;我能做到。其实你的目的不清楚。为什么您只想选择特定的id来执行这些操作?例如,asume that,answer accept structure in。我需要的想法是类似的,从答案列表中选择任何动态排列的项目。谢谢,它可以工作,但当我单击任何链接时,操作会工作很多次,直到每次结束…检查输出代码HTML。您可能正在通过循环连接我在每个迭代中发布的JS。在我的代码中,你只需要添加一次JS,即在循环之后,然后它就可以用于所有链接。我编辑了我的问题。请看。输出代码是正确的。数据id的值排列为1、2、3。id='ProductSelect@item.id'也可以工作,但是,请求多次转到控制器迭代计数这仍然不正确。你不理解我。每个循环添加一次脚本块。在浏览器中查看源代码。如果您在输出HTML中多次看到该脚本块,那么这就是您的问题。好的,当然是我的问题。我只需要从链接中选择一个项目,比如在中接受答案。当我点击任何链接时,将其id发送给控制器。
<script>
    $(document).ready(function () {
        $('.select-link').click(function() {
            var id = $(this).attr('data-id');

            url = '@Url.Action("SelectThis", "Product")';
            var data = { id: '@Model.Id' };
            $.post(url, data, function (result) {
                if (result.success) {
                    alert("Thanks");
                }
                else {
                    alert("Problem occured...");
                }
            });

        });
    });
</script>
 foreach (var item in Model)
   {
     <a href="#" data-id='@item.Id' id='ProductSelect_@(item.Id)' class="select-link">Select this</a>
   }
$('.select-link').click(function()
{
 var id = $(this).attr('data-id');
});