gpt4 book ai didi

jquery - 混合 Razor @和@: syntax in same line

转载 作者:行者123 更新时间:2023-12-01 07:58:21 24 4
gpt4 key购买 nike

我想对 Controller 进行后调用。通常可以这样完成:

var url = '@Url.Action("DeleteSelectedPermissions", "Mycontroller")'
var postResult = $.post(url, { userId: GetUserId(), selectedRowsIDs: selectedIDs });

但我需要从 javascript 设置 Controller 名称。

我已经尝试过了

var controller = applicationsPageControl.GetActiveTab().name;
var url = '@Url.Action("DeleteSelectedPermissions", @:controller)'
var postResult = $.post(url, { userId: GetUserId(), selectedRowsIDs: selectedIDs });

还有这个:

var controller = applicationsPageControl.GetActiveTab().name;
var url = '@Url.Action("DeleteSelectedPermissions", @:controller @)'
var postResult = $.post(url, { userId: GetUserId(), selectedRowsIDs: selectedIDs });

但我收到语法错误:Razor 需要右括号

最佳答案

你比我先一步了!

var controller = applicationsPageControl.GetActiveTab().name;
var url = '@Url.Action("DeleteSelectedPermissions", "PCN")';
url = url.replace("PCN", controller);
var postResult = $.post(url, { userId: GetUserId(), selectedRowsIDs: selectedIDs }

是的,您使用了占位符。如果它对您以后有用,如果您有 ActionLink 并且想要动态更改参数,您还可以使用占位符。

@Html.ActionLink("linkText", "action", "controller", routeValues: new { myParam = "__plc__" }, htmlAttributes: new { id="myLink" })

在 javascript 中...(这里,JQuery 用于发送浏览器的区域性作为参数。这当然只有在运行时才知道,Razor 的链接输出不会知道要输入什么值)。

<script>
$(function () {

$('#myLink').prop('href', $('#myLink').prop('href').replace('__plc__', navigator.language ? navigator.language : navigator['userLanguage']));

关于jquery - 混合 Razor @和@: syntax in same line,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21903816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com