使用javascript将值传递给控制器
实际上,我有一个多列的表,第一列(ID)是hyperlink。因此,每当用户单击超链接时,该值应传递给控制器,并在新窗口中打开相应的页面 在新窗口中打开页面的脚本使用javascript将值传递给控制器,javascript,asp.net-mvc,asp.net-mvc-4,Javascript,Asp.net Mvc,Asp.net Mvc 4,实际上,我有一个多列的表,第一列(ID)是hyperlink。因此,每当用户单击超链接时,该值应传递给控制器,并在新窗口中打开相应的页面 在新窗口中打开页面的脚本 <script> function openInNewWindowWithSettings() { window.open('@Url.Content("~/ConfirmVisit/ClaimDetails")', target = '_blank', width = '1000p
<script>
function openInNewWindowWithSettings()
{
window.open('@Url.Content("~/ConfirmVisit/ClaimDetails")', target = '_blank', width = '1000px', height = '800px');
}
函数openInNewWindowIthSettings()
{
window.open('@Url.Content(“~/ConfirmVisit/ClaimDetails”)”,target=''u blank',width='1000px',height='800px');
}
表格数据
<tr>
<td><a href='javascript:openInNewWindowWithSettings();'>@Html.DisplayFor(modelItem => item.ClaimID)</a></td>
</tr>
我尝试了这种方法,但这些值并没有传递给控制器,而是打开了一个带有空页面的新窗口
那么,我如何更改代码以获得控制器的id值呢?
提前感谢 为要传递到
窗口的3个参数中的每一个生成。open()
函数参见-第一个参数是url(需要是您的href
属性的值link@StephenMuecke我在脚本中做了一些更改,并将url作为第一个参数传递。但是当我尝试传递ClaimID时,脚本不起作用。它不是url.Content()
-Itsurl.Action()
如果要传递参数,则构建url的格式为@url.Action(“ClaimDetails”,“ConfirmVisit”,new{id=“item.ClaimID”})
谢谢@StephenMuecke,它现在可以工作了。但是它仍然没有使用正确的Id。它只是为所有行使用最后一行claimID。好的@StephenMuecke,谢谢一个lotits不工作@Stephen Muecke。它只是在当前页面中添加了#来更改url,但是'target='_blank'将在新选项卡中打开……我希望在新选项卡中打开窗口与您之前提到的@Stephen Muecke类似,但您是否实际使用了window.open(url,“yourWindowName”,attributes);
即正确指定所有参数?我刚刚在Chrome中进行了测试,其工作正常。您能展示一下您是如何通过url@Stephen Muecke的吗?我使用了window.open(url,“yourWindowName”,attributes);
@foreach(var item in ....)
{
<td>
<a href="#" class="claim-link" data-url="@Url.Action("ClaimDetails", "ConfirmVisit", new { id = item.ClaimID })">@item.ClaimID</a>
</td>
}
$('.claim-link').click(function() {
var url = $(this).data('url');
var attributes = "width=1000,height=800";
window.open(url, "yourWindowName", attributes);
}