如何从Javascript调用URL操作?
我正在做:如何从Javascript调用URL操作?,javascript,c#,asp.net,asp.net-mvc,razor,Javascript,C#,Asp.net,Asp.net Mvc,Razor,我正在做: var url = '@Url.Action("Attachments", "Transactions")'; url += '/?id=' + 3201; $("#attachments").load(url); 然而,在加载时,它什么也不做。我错过什么了吗 我基本上想称之为类似于: @{Html.RenderAction("Attachments", "Transactions", new { id = 3301 });} 我在控制台上遇到以下错误: http://serve
var url = '@Url.Action("Attachments", "Transactions")';
url += '/?id=' + 3201;
$("#attachments").load(url);
然而,在加载时,它什么也不做。我错过什么了吗
我基本上想称之为类似于:
@{Html.RenderAction("Attachments", "Transactions", new { id = 3301 });}
我在控制台上遇到以下错误:
http://server:54137/Transactions/@Url.Action(%22Attachments%22,
您需要使用下面的检查
var url = "@Html.Raw(Url.Action("Attachments", "Transactions"))";
url += '/?id=' + 3201;
$("#attachments").load(url);
您需要使用下面的检查
var url = "@Html.Raw(Url.Action("Attachments", "Transactions"))";
url += '/?id=' + 3201;
$("#attachments").load(url);
您必须使用不会解析razor语法的外部JavaScript文件,因此控制台中的
@Url.Action(%22附件%22.
出现错误
您有两个选择:
函数加载url(url){
$(“#附件”).load(url);
}
loadUrl(@Url.Action("Attachments", "Transactions", new { id = @Model.Id })
data
方法从JavaScript中读取它<button data-url="@Url.Action("Attachments", "Transactions", new { id = @Model.Id })" />
我更喜欢第二个选项。您必须使用一个外部JavaScript文件,该文件不会解析您的razor语法,因此控制台中的
@Url.Action(%22附件%22.
出现错误
您有两个选择:
函数加载url(url){
$(“#附件”).load(url);
}
loadUrl(@Url.Action("Attachments", "Transactions", new { id = @Model.Id })
data
方法从JavaScript中读取它<button data-url="@Url.Action("Attachments", "Transactions", new { id = @Model.Id })" />
我更喜欢第二个选项。你想做什么?
.load()
-从服务器加载数据并将返回的HTML放入匹配的元素在console.log(url);
语句紧跟在var url=…
之后,检查它返回的内容。你的代码对我来说很好。我使用了console.log(url);
并打印-/Transactions/Attachments/?id=3201
。因此,请检查代码的其他部分。注意,它应该是url+='?id='+3201;
(无正斜杠)您在哪里“执行”javascript?文件名是什么?它以.js结尾吗?您想做什么?.load()
-从服务器加载数据并将返回的HTML放入匹配的元素在console.log(url);
语句紧跟在var url=…
之后,检查它返回的内容。您的代码对我来说运行良好。我使用了console.log(url);
并打印-/Transactions/Attachments/?id=3201
。因此,请检查代码的其他部分。注意,它应该是url+='?id='+3201;
(无正斜杠)javascript在哪里?文件名是什么?它以.js结尾吗?您不需要使用Html.Raw()
-'@url.Action(“附件”、“事务”);
将返回“/Transactions/Attachments”
您不需要使用Html.Raw()
-”@Url.Action(“附件”、“事务”);
将返回“/Transactions/Attachments“
由于某些原因,它似乎不起作用?当我尝试选项二时,我会遇到相同的错误。我已将数据值附加到选项选择列表,并且能够正确地获取url。然后当我尝试加载它时,它仍然会给我错误:get 404(未找到)@SamIAm您好,您需要确保从razor文件中调用@Url.Action
,即.cshtml
,否则它将无法解析。如果您从外部.js
文件调用它,它将只将其视为javascript并解析为@Url.Action
,而不是操作的路径,即/transactions/attachments
@hutchonoid我们如何在.js文件中使用它?嗨@Sebastian,是的,你可以。你有两个选项,创建一个以url为参数的函数,并通过loadThisUrls(@url.Action…)传递它
解析路径或按原样将其捆绑并解析url(如上所示),而不传入路径。由于某些原因,它似乎不起作用?我在尝试选项二时会遇到相同的错误。我已将数据值附加到选项选择列表中,并且能够正确导出url。然后,当我尝试加载它时,它仍然会给我错误信息或:获取404(未找到)@SamIAm您好,您需要确保从razor文件中调用@Url.Action
,即.cshtml
,否则它将无法解析。如果您从外部.js
文件调用它,它将只将其视为javascript并解析为@Url.Action
,而不是操作的路径,即/transactions/attachments
@hutchonoid我们如何在.js文件中使用它?嗨@Sebastian,是的,你可以。你有两个选项,创建一个以url为参数的函数,并通过loadThisUrls(@url.Action…)传递它
解析路径或按原样将其捆绑并解析url,如上图所示,而无需传入。