1

私は最近、この「関数未定義エラー」に直面しており、少しイライラしています。

コード ビハインドのクラスを使用して動的にJava スクリプトページを構築しようとしている Web アプリケーションがあります。StringBuilder私のコード ビハインドではOnClick、アンカー タグのイベントを関連付けています。

クリック イベントが発生しないようです。

私はいつも次のようなエラーを受け取ります:

スクリプト ブロック 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 に答える