什么是使用asp.net从URL获取Id的最佳方式mvc

问题描述:

我是Jquery和Asp.Net MVC的新手。 我想从一个页面上的ActionLink传递一个ID参数什么是使用asp.net从URL获取Id的最佳方式mvc

到jQuery函数。 然后将此Id传递给控制器​​,该控制器返回在模态对话框中呈现的结果集。

从JQuery中的ActionLink获取Id参数的最佳方法是什么? 请注意,有几个操作链接分配有不同的ID。

这是我下面的操作链接:

<%=Html.ActionLink("View", "GetDetailsById", new { id = x.ProductId }, new { @class = "view",@productId= x.ProductId })%>

下面这是我的jQuery函数。

 $(function() { 
      var _id; 


      $(".view").click(function() { 
       // Get the ID value of this button. 

       _id = $(this).attr('productId');      

       // Initialize the dialog and call the next function 
       // to get the data.     
       $("#dialog-message").dialog('open'); 

       return false; 
      }); 

请注意,我通过向actionlink添加自定义属性来获得此功能 - @ productId。然后我使用jQuery这样抢值:

$(".view").click(function() { // Get the ID value of this button.

    _id = $(this).attr('productId');    

这个ID被传递到调用控制器的方法的jQuery函数。

这是一个获得Id的好方法,还是有一个更清洁的方式来做到这一点?

问候

科乔

+0

好奇,但它看起来像你正在创建一个行动链接,但实际上并没有使用链接本身。但是,请点击返回false并执行其他操作。我对么? – 2010-11-10 01:19:59

+0

我正在用CSS类和Id装饰动作链接。我没有显示所有的代码,但我打开了一个模态对话框。 – Kojof 2010-11-10 23:35:07

你可以产品ID分配给产生,由HTML指定id的HTML元素的ID属性参数:

new { @class = "view", id = x.ProductId } 

然后,而不是使用一个productId属性,您可以用相同的方式获取生成的<a>标签的id,即使用$(this).attr("id")

我会推荐使用productId,因为id是有效的HTML。

所以,你的代码最终会这样看:

<%=Html.ActionLink("View", "GetDetailsById", new { id = x.ProductId }, new { @class = "view", id = x.ProductId })%> 

这将产生与productId ID的<a>。然后你的jQuery应该是这样的:

 $(function() { 
     var _id; 


     $(".view").click(function() { 
      // Get the ID value of this button. 

      _id = $(this).attr('id');      

      // Initialize the dialog and call the next function 
      // to get the data.     
      $("#dialog-message").dialog('open'); 

      return false; 
     }); 
+0

..我用$(this)。attr('id')但它返回undefined,任何想法plz?我只想在上面的actionlink获取id值在jquery点击事件 – Dragon 2015-11-04 09:28:37

我会通过ID向视图模型,然后在JavaScript变量插入值手动

<script type="text/javascript"> 
    var id = '<% ViewData["theid"] %>'; 
</script> 

这是相同的技术,计算器在他们的代码使用。继续看看他们的html,你会看到。

+0

这是一个有用的技术,并会工作。我不接受它的唯一原因是因为我有一个List 收集的数据显示在页面上的一个表格中。所以我不能在页面上显示它之前将单个ID分配给。 – Kojof 2010-11-10 22:56:50