我正在研究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
如何在那里设置我的参数值?
答案 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>