2010-02-09 51 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>