1

myfunc が jquery 関数である .aspx ページで c# プロパティを呼び出そうとしています。この関数は、C# パブリック プロパティを介して渡すパラメーターを受け取ります。そして、divがレンダリングされるとすぐにこの関数を呼び出したいと思います。以前は、ascxコントロールのprerenderイベントでこれを行っていました。以下のコードの正確なssyntaxは何ですか?ここからjquery関数を呼び出すことは有効ですか?

    <div  class ="v" onload ="Javascript:myfunc('<%= this.articleID  %> '      
     ,'" +<%=this.UserID %>+"','" +<%=this.EncryptedUserID %>" +','" +<%# 
     this.ItemIndex  %>)">

ありがとう

編集済み

このようにすればOK

            <div  class ="v"  >
                         <script language ="javascript" >

                          JGetTotalVotes(<%= this.articleid  %>  ,<% 
              this.ThisEncryptedUserID %>,<% this.ItemIndex  %>,'aaa');
                          </script>

サーバー側の非表示フィールド ソリューションは必要ありません。また、非表示フィールド (非サーバー HTML タグ) を使用する場合でも、<%%> を呼び出してサーバー側から非表示フィールドに値をフェッチする必要があります。

4

2 に答える 2

1

問題がなければ、最後のパラメーターの後に一重引用符がありません。隠しフィールドを使用して、javascript で関数を呼び出すことができます

これをあなたのページに追加してください

<asp:HiddenField runat="server" ID="hdnArticleId" ClientIDMode="Static" />
<asp:HiddenField runat="server" ID="hdnUserId" ClientIDMode="Static"/>
<asp:HiddenField runat="server" ID="hdnEncryptedUserID" ClientIDMode="Static"/>
<asp:HiddenField runat="server" ID="hdnItemIndex" ClientIDMode="Static"/>

Page_Load イベントでこれらの隠しフィールドをバインドする ClientIDMode="Static" を追加して ID を設定することを忘れないでください。

あなたのjavascritpに追加

function YourFunction(){
     var ArticleId = document.getElementById("hdnArticleId").value;
     var UserId= document.getElementById("hdnUserId").value;
     var EncryptedUserID= document.getElementById("hdnEncryptedUserID").value;
     var ItemIndex= document.getElementById("hdnItemIndex").value;
     // your code goes here
}

ページのオンロードでJavaScript関数を呼び出すことを忘れないでください

于 2012-09-26T12:55:09.583 に答える
0

Div要素は外部コンテンツをプルしないため、ロードイベントはありません。

div要素が解析された後にJSを実行する場合:

<div></div>
<script> foo(); </script>
于 2012-09-26T12:46:51.990 に答える