Javascript内置剃须刀
我必须在Razor中使用javascript代码。 代码是:Javascript内置剃须刀,javascript,asp.net-mvc,razor,Javascript,Asp.net Mvc,Razor,我必须在Razor中使用javascript代码。 代码是: @if (element.ParentItemID == null) { <script type="text/javascript"> $(window).resize(function () { if ($(window).width() > 640) { @Html.ActionLink(element.PageTitle, "De
@if (element.ParentItemID == null)
{
<script type="text/javascript">
$(window).resize(function () {
if ($(window).width() > 640) {
@Html.ActionLink(element.PageTitle, "Details", "Items", new { @parentitem = "website", @url = (element.Url) }, new { @class = "" })
}
else {
<a href="#" class="dropdown-toggle" data-toggle="dropdown">@element.PageTitle</a>
}
}); //show syntax error
</script>
}
@if(element.ParentItemID==null)
{
$(窗口)。调整大小(函数(){
如果($(窗口).width()>640){
@ActionLink(element.PageTitle,“详细信息”,“项目”,新的{@parentitem=“网站”,@url=(element.url)},新的{@class=”“})
}
否则{
}
});//显示语法错误
}
如果没有javascript代码,它将生成一个菜单。但当我使用上面的代码时,它什么也没有显示
我在这里尝试了解决方案,但在这种情况下不起作用:
您的javascript块需要与html分开。在当前的实现中,浏览器将尝试将html解释为无效的javascript,而不会发生任何事情。尝试切换元素或调出href属性
@if (element.ParentItemID == null)
{
<script type="text/javascript">
$(window).resize(function ()
{
var isWideEnough = $(window).width() > 640;
$(".isWideEnough").toggle(isWideEnough);
$(".isNotWideEnough").toggle(!isWideEnough);
});
</script>
@Html.ActionLink(element.PageTitle, "Details", "Items", new { @parentitem = "website", @url = (element.Url) }, new { @class = "isWideEnough" })
<a href="#" class="dropdown-toggle isNotWideEnough" data-toggle="dropdown">@element.PageTitle</a>
}
@if(element.ParentItemID==null)
{
$(窗口)。调整大小(函数()
{
var iswideough=$(窗口).width()>640;
$(“.iswideThough”).toggle(iswideThough);
$(“.isNotWideThough”)。切换(!isWideThough);
});
@ActionLink(element.PageTitle,“详细信息”,“项目”,新的{@parentitem=“网站”,@url=(element.url)},新的{@class=“iswideough”})
}
你要做什么,你在混合c#,javascript和HTML,你不能以那种方式使用javascript是的,你不能只在javascript中添加一个
标记,你希望它做什么?这可能是重复的,甚至应该如何工作?当窗口调整大小时,您希望发生什么?谢谢大家的评论!请看我对jtimperley回答的评论。实际上,我想隐藏“ActionLink”并为小型设备显示标签。对于中型和大型设备,反之亦然。但它不能正常工作。谢谢