2013-02-14 60 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

相关问题