1

我最近一直面临这个“函数未定义错误”,它有点令人沮丧。

我有一个 Web 应用程序,我正在尝试使用代码隐藏中的类动态构建我的java 脚本页面。StringBuilder在我的代码隐藏中,我OnClick为锚标记关联了一个事件。

click 事件似乎永远不会触发。

我总是收到错误消息:

脚本块 0x800a1391 中的第 794 行第 1 列未处理的异常 - Microsoft JScript 运行时错误:“DeleteRowFromCart”未定义

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" />

我不知道这里可能有什么问题。任何帮助将不胜感激。

4

1 回答 1

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()));
于 2013-02-14T06:59:14.087 回答