Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Razor页面上动态构造ajax url操作字符串?_C#_Ajax_Asp.net Core_Razor - Fatal编程技术网

C# 如何在Razor页面上动态构造ajax url操作字符串?

C# 如何在Razor页面上动态构造ajax url操作字符串?,c#,ajax,asp.net-core,razor,C#,Ajax,Asp.net Core,Razor,我正在使用Razor页面构建一个Asp.NetCore应用程序。 我正在尝试创建一个泛型来在页面中构造Url操作 理想情况下,我希望创建一个可以跨多个页面共享的javascript函数 考虑以下Javascript函数: Function Foo( actionName, entityType) { // This is what I'd like the result to be.... // var urlAction = "'@Url.Action(&q

我正在使用Razor页面构建一个Asp.NetCore应用程序。 我正在尝试创建一个泛型来在页面中构造Url操作

理想情况下,我希望创建一个可以跨多个页面共享的javascript函数

考虑以下Javascript函数:

Function Foo( actionName, entityType) {
    
    // This is what I'd like the result to be....
    // var urlAction = "'@Url.Action("DeleteCompany","Company")'";
    var urlAction = "'@Url.Action(""" + actionName + entityName + """,""" + entityName """)'""";

    var result = DevExpress.ui.dialog.confirm("message", "title");  
    result.done(function (dialogResult) {
        $.ajax({
            url: urlAction,
            data: { companyId: entityId },
            type:"Post",
            success: function () {
            }
        });
    });
我希望能够动态构造我的urlAction字符串,这样我就可以通用地使用它 我的应用程序中的剃刀页面

有可能吗?
如果是这样,如何正确构造urlAction字符串?

您希望创建可以跨多个页面共享的js函数。要实现此目标,您需要在外部js文件中创建此函数。此外,C#代码不能在外部js文件中使用。您可以设置隐藏输入并将
@Url.Action()
设置为值

更改代码,如下所示:

YourJs.js:

function Foo() {
    var urlAction = $("#myUrl").val();
    console.log(urlAction);
}
视图:


@节脚本
{
}

这就成功了。我想我被在控制台调试器中看到的“@Url.Action(“DeleteCompany”,“Company”)”是如何计算为“/Company/DeleteCompany”的结果弄糊涂了。谢谢!
<input id="myUrl" hidden value="@Url.Action("Privacy","Home")"/>
<input type="button" value="Create" onclick="Foo()" />

@section Scripts
{
    <script src="~/js/YourJs.js"></script>
}