html.action mvc,MVC相当于@ Html.ActionLink通过javascript

博客探讨了在JavaScript中如何处理服务器端路由的问题。由于JavaScript是客户端语言,它无法直接使用服务器端路由定义。建议使用服务器端助手在HTML中嵌入URL,然后在JavaScript中获取并使用这些URL进行客户端操作,如重定向。此外,还提到了通过HTML5数据属性存储URL并在JavaScript文件中订阅事件来获取和使用这些URL的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

javascript是一种客户端语言,不了解您正在使用的服务器端的语言.因此,在使用服务器端路由定义生成URL的服务器端帮助程序的javascript中没有等价物是正常现象.

它不是很清楚你正在尝试实现,但如果你想使用通过javascript调用一些url可以使用服务器端帮助器生成这个url:

var url = '@Url.Action("SomeAction","SomeController")';

// do something with the url client side variable,for example redirect

window.location.href = url;

如果你想在一个单独的javascript文件中使用这个url,你无法访问服务器端的帮助者,你仍然可以根据情况把这个URL包含在一些DOM元素中.

例如:

Click me

请注意我们嵌入到DOM中的数据网址HTML5属性,并使用服务器端帮助器,以确保生成的网址将始终根据路由定义正确.现在我们可以在一个单独的JavaScript文件中,不引人注目的订阅此div的点击事件并检索url:

$('#foo').click(function() {

var url = $(this).data('url');

// do something with the url client side variable,for example redirect

window.location.href = url;

});

其他实例显然包括标准< a>和< form>应该使用服务器端HTML助手生成的元素,然后您在单独的JavaScript文件中必须执行的所有操作都是获取其相应的href或action属性来检索实际的url并使用它执行某些操作.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值