2013-02-14 61 views
1

我一直在面對這個「函數未定義的錯誤」,它有點令人沮喪。Microsoft JScript運行時錯誤:'DeleteRowFromCart'未定義

我有一個web應用程序,我試圖在代碼隱藏中使用StringBuilder類動態構建我的java-script頁面。在我的代碼隱藏中,我將一個OnClick事件關聯到一個錨標記。

點擊事件似乎從未觸發。

我總是得到錯誤說:

Unhandled exception at line 794, column 1 in script block 0x800a1391 - Microsoft JScript runtime error: 'DeleteRowFromCart' is undefined

Javascript代碼:

腳本包括

<link href="Styles/jquery.mobile-1.2.0.min.css" rel="stylesheet" 
    type="text/css" /> 
<script src="Scripts/jquery.min.js" type="text/javascript"></script> 
<script src="Scripts/jquery.mobile-1.2.0.min.js" type="text/javascript" > 
</script> 

<script type="text/javascript"> 
    function DeleteRowFromCart(tableID) { 
     // Function Logic    
    } 
</script> 

後面的代碼::構建頁面動態

StringBuilder cartString = new StringBuilder(string.Empty); 
cartString.Append(@"<tr><td></td><td align='right'> 
    <a data-role='button' data-mini='true' data-icon='delete' data-theme='a' 
    onclick='DeleteRowFromCart("+ product.TableId+");'>Delete</a></td></tr>"); 
cartString.Append("</table></li>"); 
CartPanel.Controls.Add(new LiteralControl(cartString.ToString())); 

的CartPanel這裏是一個ASP面板

<asp:Panel runat="server" ID="CartPanel" /> 

我不知道什麼可能是可能錯在這裏。 任何幫助將不勝感激。

+0

運行您的應用程序,然後從您的瀏覽器看到的頁面源,是DeleteRowFromCart是否存在?你也可以發佈生成的HTML刪除按鈕? – 2013-02-14 06:50:06

+0

函數'DeleteRowFromCart'在我的源文件中不存在。而更奇怪的是,當我查看源代碼時,我沒有看到我的控件正在動態構建的任何html。而是在解決方案中顯示我的啓動頁面的HTML內容。這是它應該如何? – 2013-02-14 06:57:56

回答

0

單引號可能是一個問題,請嘗試更換以下 -

onclick='DeleteRowFromCart("+ product.TableId+");' to onclick=DeleteRowFromCart('"+ product.TableId+'"); 

更新 - 函數之前添加JavaScript。

string TableID="Table01"; 

StringBuilder cartString = new StringBuilder(string.Empty); 
cartString.Append(@"<tr><td></td><td align='right'> 
<a data-role='button' data-mini='true' data-icon='delete' data-theme='a' 
onclick=javascript:DeleteRowFromCart('" + TableID + "');>Delete</a></td></tr>"); 
cartString.Append("</table></li>"); 
CartPanel.Controls.Add(new LiteralControl(cartString.ToString())); 
+0

感謝您的回覆。我確實試圖改變引號,但它給出了一個錯誤,因爲你指定引用的方式對我來說似乎是錯誤的。 OnClick是否應該放在單引號內? – 2013-02-14 07:38:04

+0

作爲更新,我嘗試將聲明更改爲 onclick ='DeleteRowFromCart();' 它也給一個簡單的函數提供了相同的錯誤。 – 2013-02-14 07:51:05

+0

嘗試使用簡單提醒('Hello')並查看它是否有效? – 2013-02-14 08:40:50

相關問題