繁体   English   中英

Url.Content中的Javascript变量

[英]Javascript Variable in Url.Content

我有一个名为locid的javascript变量,通过设置div的data-url,尝试将其用作URL的一部分:

data-url='@Url.Content("~/Catalogue_Items/ItemsActionViewPartial/")@Model.CatItemID?LocationID=locid&AsyncUpdateID=catalogue-view'>

我知道我不能像我在示例代码中那样将locid放入该字符串中,但我只是将其放在此处以说明需要将我的javascript变量放置在何处。 我该如何实现?

这里的问题是@ url.content需要在不可见JavaScript变量的服务器上运行。 编写一个独立的AJAX调用以获取内容,然后在data-url中设置内容

您不能将Javascript变量直接用于属性。 一种解决方法是重新排序url参数并在script标签中设置JavaScript变量。

<button id="myButton" data-url='@Url.Content("~/Catalogue_Items/ItemsActionViewPartial/")@Model.CatItemID?AsyncUpdateID=catalogue-view'></button>

我在这里重新排序了url参数。 location参数将通过以下脚本设置。 将此脚本放在button元素之后。

<script>
var button = document.getElementById('myButton');
var url=button.getAttribute('data-url');
url+="&LocationID=" + locid;
button.setAttribute('data-url',url);
</script>

您可以使用document.write将值放在页面中,但不能将其写到标签内,而必须写出整个标签。 例:

<script>
document.write('<div data-url="@Url.Content("~/Catalogue_Items/ItemsActionViewPartial/")@Model.CatItemID?LocationID=' + locid + '&AsyncUpdateID=catalogue-view">');
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM