加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

MVC相当于@ Html.ActionLink通过javascript

发布时间:2020-12-14 23:49:22 所属栏目:资源 来源:网络整理
导读:如何通过 JavaScript代码编写相当于@ Html.ActionLink的代码,即调用MVC操作,然后创建一个新的视图而不返回到调用视图? 解决方法 javascript是一种客户端语言,不了解您正在使用的服务器端的语言.因此,在使用服务器端路由定义生成URL的服务器端帮助程序的java
如何通过 JavaScript代码编写相当于@ Html.ActionLink的代码,即调用MVC操作,然后创建一个新的视图而不返回到调用视图?

解决方法

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

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

<script type="text/javascript">
    var url = '@Url.Action("SomeAction","SomeController")';
    // do something with the url client side variable,for example redirect
    window.location.href = url;
</script>

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

例如:

<div id="foo" data-url="@Url.Action("SomeAction","SomeController")">Click me</div>

请注意我们嵌入到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并使用它执行某些操作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读