我最近面临这个“函数未定义错误”并且有点令人沮丧。
我有一个Web应用程序,我正在尝试使用代码隐藏中的StringBuilder
类动态构建我的 java-script 页面。在我的代码隐藏中,我正在为锚标记关联OnClick
事件。
点击事件似乎永远不会发生。
我总是得到错误说:
第794行未处理的异常,脚本块0x800a1391中的第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" />
我不知道这里可能出现什么问题。 任何帮助将不胜感激。
答案 0 :(得分: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()));