C# 如何在Razor页面上动态构造ajax url操作字符串?
我正在使用Razor页面构建一个Asp.NetCore应用程序。 我正在尝试创建一个泛型来在页面中构造Url操作 理想情况下,我希望创建一个可以跨多个页面共享的javascript函数 考虑以下Javascript函数: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
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>
}