2010-02-09 91 views
0

在我看来,我生成了HTML,并添加了一些jQuery/Javascript代码。该视图显示在我的主页的div中。我添加的jQuery代码在那里,但没有工作。当我将相同的代码直接在工作视图中硬编码时。 在我看来,这是因为局部视图(的.ascx),我有这样的事情:在视图中添加ASP.NET MVC jQuery脚本不工作

感谢,

更新1 在我的主网页我有一个超链接的菜单部分。在这种局部视图(未比其他相同),我创建一些链接:

<h2>Category</h2> 
<ul> 
<% foreach (Category item in Model.Categories) { %> 
<li><%= Model.DisplayURL(item) %></li> 
<% } %> 
</ul> 

广告显示

public string DisplayURL(Category category) 
{ 
    return string.Format("<a href=\"#\" onclick=\"MyFunction('{1}')\">{0}</a>", category.Code, category.Code); 
} 

当添加这种在局部视图的末尾:

<script type='text/javascript' language='javascript'> 
       function MyFunction(data){ 
        alert(data); 
       }); 
      </script> 

,但编程中添加的相同代码未运行。

错误我收到: http://tinypic.com/r/55ms1l/6

+2

你会从非精神得到帮助Stackoverflow人群如果你会发布一些相关的Javascript,或者描述它做了什么,或者它应该做什么,以及你看到的不正确的行为,以及你迄今为止尝试过的调试问题。 – Pointy 2010-02-09 13:45:30

+1

是否将您的局部视图异步(使用ajax)添加到您的页面? – 2010-02-09 13:45:59

+0

你如何引用你的脚本文件 - 你可能需要使用ResolveUrl辅助方法来获得正确的虚拟引用。 – Paddy 2010-02-09 13:49:35

回答

0

如果你的局部视图是由AJAX动作呈现,该视图中的脚本将不进行评估。

你应该把你的函数放在外部脚本文件中。

1

我认为你的函数声明在语法上不正确的,它有在最后一个额外的右括号和分号,它应该仅仅是:

  <script type='text/javascript' language='javascript'> 
       function MyFunction(data){ 
        alert(data); 
       } 
      </script>