MVC通过javascript与@Html.ActionLink等效
如何通过javascript代码编写@Html.ActionLink的等效代码,即调用MVC操作,然后创建一个新视图而不返回调用视图?MVC通过javascript与@Html.ActionLink等效,javascript,asp.net-mvc,Javascript,Asp.net Mvc,如何通过javascript代码编写@Html.ActionLink的等效代码,即调用MVC操作,然后创建一个新视图而不返回调用视图?javascript是一种客户端语言,它对您使用的服务器端语言一无所知。因此,javascript中没有使用您的服务器端路由定义生成url的服务器端帮助程序的等价物是正常的 不太清楚您试图实现什么,但如果您想通过javascript调用某个url,可以使用服务器端帮助程序生成此url: <script type="text/javascript">
javascript
是一种客户端语言,它对您使用的服务器端语言一无所知。因此,javascript中没有使用您的服务器端路由定义生成url的服务器端帮助程序的等价物是正常的
不太清楚您试图实现什么,但如果您想通过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>
其他示例显然包括标准的
和
元素,这些元素应该使用服务器端HTML帮助程序生成,然后您在单独的javascript文件中所要做的就是获取它们相应的href
或action
属性以检索实际的url并对其进行处理它。另一个选项是将URL存储在页面上某个隐藏的
中,然后通过Javascript调用它。它看起来是这样的:
Index.cshtml:
<div style="display: none;" id="url">
@Url.Action("SomeAction", "SomeController")
</div>
URL变量随后将包含指向
/SomeController/SomeAction
的websafe链接,是否要使用ajax?您希望javascript如何调用操作?谢谢。我一直在寻找“window.location.href=url;”代码,希望能帮上忙。如果这个答案帮助你解决了你遇到的问题,你可以考虑点击它旁边的记号来回答它:“DARIN DIMITROV,我们能把参数传递给特定的动作”@ URL.Action(“Action Action”,“SomeController”)在这个代码块中吗?
$('#foo').click(function() {
var url = $(this).data('url');
// do something with the url client side variable, for example redirect
window.location.href = url;
});
<div style="display: none;" id="url">
@Url.Action("SomeAction", "SomeController")
</div>
var url = $("#url").text();