2011-11-17 73 views
1

我想突出显示我的元素并添加一个jQuery链接。jQuery代码不适用于MVC3网站

我的代码:

@model IEnumerable<Mvc3Demo.Products> 

@{ 
    ViewBag.Title = "List"; 
} 

<h2>List</h2> 
<script type="text/javascript" src="../../Scripts/jquery-1.5.1.min.js" /> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#productList li').hover(
      function() { 
       $(this).css({ 'background': 'green', 'cursor': 'pointer' }); 
      }, 
      function() { 
       $(this).css('background', ''); 
      } 
     ).click(function() { 
      window.location = 'Product/Edit/' + $(this).attr('productid'); 
     }); 
    }); 
</script> 

<ul id="productList"> 
@foreach (Mvc3Demo.Products p in Model) 
{ 
    <li productid="@p.ProductsID"> 
     @p.Name 
     <[email protected]("Bearbeiten", "Edit", "Product", p, null)--> 
    </li> 
} 
</ul> 

布局页:

<!DOCTYPE html> 
<html> 
<head> 
    <title>@ViewBag.Title</title> 
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> 
    <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script> 
</head> 

<body> 
    @RenderBody() 
</body> 
</html> 

jQuery的会被发现,这样不可能是错误(我用萤火虫校对吧)

错误:

在Firebug中没有错误,没有高亮和没有链接

请帮

+0

尝试在Firebug的控制台写作'$( '#productList的礼')'。它是否返回任何元素? – lalibi

+0

返回:[li,li] – test123123

+0

现在它突然工作 – test123123

回答

0

你不有,打破了jQuery的功能布局网页的东西吗? 尝试从布局中取消绑定您的页面并单独测试它。 或发布你的页面布局,让我们看看有什么可能是错的...

看到页面布局后编辑:

有错误。你已经在布局页面中有jquery引用。这会导致错误。只需从你的页面中删除引用,然后在布局中留下那个引用),并且所有内容都将起作用。 我创建了一个littel项目来测试它。

PS:我还是不明白,为什么2个引用同一javascritp文件导致错误:/

+0

我添加了布局页面,似乎没有错误 – test123123

+0

有错误。你已经在布局页面中有jquery引用。这会导致错误。只需从你的页面中删除引用,然后在布局中留下那个引用),并且所有内容都将起作用。 我创建了一个littel项目来测试它。 – themarcuz

1

我已经把这将是从你上面的例子into a fiddle输出HTML。正如你所看到的,它似乎正常工作。

您引用jQuery的URL是否正确?

+0

MVC根据他们查看的网址自动更新'script'参考?我知道ASP.Net Forms不这样做。 – robertc

+1

它的确如果你使用'Url.Content(“〜/ path/to/jquery.js”)' –

+0

这个行为很奇怪。现在我使用直接链接到jquery,它也不工作 – test123123

0

尝试键入的

<script type="text/javascript" src="../../Scripts/jquery-1.5.1.min.js"></script>

代替

<script type="text/javascript" src="../../Scripts/jquery-1.5.1.min.js" />

+0

在萤火虫我看到脚本被发现 – test123123

相关问题