如何将参数传递给onclick =" window.location"在李

时间:2014-05-24 17:11:28

标签: javascript jquery asp.net-mvc-4

我正在研究MVC4 想要在li onclick window.location

中的模型中设置参数值
  

Name = MyValue在这里是硬编码的

     

如何使用foreach循环设置模型i中的参数进行迭代。

<ul class="my_list">
        <li style="position: relative" onclick="window.location='/Mypage?Name=MyValue'">
         </li>
</ul>
  

onclick在li如何在那里设置我的参数值?

4 个答案:

答案 0 :(得分:2)

你可以这样做:

<ul class="my_list">
  <li style="position: relative" onclick="myFunction(5);">
  </li>
</ul>

用Razor这样:

@foreach(var item in Model)
{
    <li style="position: relative" onclick="myFunction(@(item.SomeProperty));">
    </li>
}

使用Javascript:

<script type="text/javascript">

function myFunction(id)
{
    window.location='/Mypage?Name='+id;
}

</script>

我正在通过5但你可以传递一些变量。

答案 1 :(得分:1)

更好的方法是如果你使用jQuery,你可以利用HTML5提供的data-*属性:

<li style="position: relative" data-name="<% yourValue %>" >

$('.my_list li').on('click', function(){
     window.location = '/Mypage?Name=' + $(this).data('name');
});

答案 2 :(得分:0)

更改

window.location='/Mypage?Name=MyValue'

window.location='@Url.Action("Action", "Controller", new { id = id })'

将您的参数放在新的部分

答案 3 :(得分:0)

您需要在onClick方法中连接参数: 方法如下:

<ul class="my_list">
<%
name = 'myvalue'
%>
        <li style="position: relative" onclick="window.location='/Mypage?Name="&name&"">
         </li>
</ul>