-3

vb.netコードでJavascriptを書く必要があるので、誰か助けてもらえますか? つまり、私はvb.netコーディングが初めてで、Webサービスから動的に作成されたテーブルがあり、そのテーブルにはjavascriptコードにあるソート機能を追加する必要があり、このスクリプトをに追加する必要がありますこれで試した動的に作成されたテーブル:

     oSB.Append("table.RegisterStartupScript('SCRIPTNAME', '<script language='javascript'>function tname(){alert('kk')};</script>')")

しかし、まったく機能していないようです。

また、私はこれで試しました

     'oSB.Append("<script>$('[id^=tname] th').live('click',function(event){ alert('hello')}</script>")

私のajax関数:

     $.ajax({
        type: "POST",
        url: "Service1.asmx/GetRecipie",
        contentType: "application/json; charset=utf-8",

        data: "{'sDB':'" + sDB + "'}",
        dataType: "json",
        success: OnGetMemberSuccess,

        failure: function (errMsg) {
            $('#errorMessage').text(errMsg);  //errorMessage is id of the  div
        }

    });
    function OnGetMemberSuccess(data, status) {

        xistr = data.d.split(',');
        $("#MemberDetails").html(data.d);
        $('input[type=button]').attr('disabled', false);
    }

} 

テーブルは、このコード (webservice) によって作成されます。

     oSB.Append("<table id= '" + table_id + "' class='sortable' ><thead><tr><th class=border id='tname' >" + "Name" + "<img src='next.gif'/></th><th class=border>" + "Duration" + "</th><th class=border>" + "State" + "</th><th class=border>" + "Party" + "</th><th class=border>" + "Year" + "</th></tr></thead>")
     sNameValue = dr("sName").ToString
        sDurValue = dr("sDuration").ToString
        sStateValue = dr("sState").ToString
        sPartyValue = dr("sParty").ToString
        sYearValue = dr("sYear").ToString
        oSB.Append("<tbody id=tbodyid'>")
        ' oSB.Append("<tr id='trid'>")
        oSB.Append("<tr>")
        oSB.Append("<td id='tdid' class=border1>")
        oSB.Append(sNameValue)
        oSB.Append("</td>")

        oSB.Append("<td class=border1>")
        oSB.Append(sDurValue)
        oSB.Append("</td>")

        oSB.Append("<td id='td_state' class=border1>")
        oSB.Append(sStateValue)
        oSB.Append("</td>")

        oSB.Append("<td class=border1>")
        oSB.Append(sPartyValue)
        oSB.Append("</td>")

        oSB.Append("<td class=border1>")
        oSB.Append(sYearValue)
        oSB.Append("</td>")

        oSB.Append("</tr>")
        oSB.Append("</tbody>")
    End While
    dr.Close()
    con.Close()
    oSB.Append("</table>")
    'MsgBox(table.ToString)
    Debug.Print(oSB.ToString)

誰かが私が間違っている場所を教えてもらえますか?

また乾杯

4

3 に答える 3

2

vb.net コードに直接 JavaScript を記述することはできません。ただし、vb.net コードから JavaScript を登録して起動することはできます。

これを試して

Page.RegisterClientScriptBlock("key","<script>alert('Hello World');</script>");

このvbコードブロックを試してください:

Dim strScript As String = "<script>"
strScript += "alert('Hello, Pavan');"
strScript += "</script>"
Page.RegisterClientScriptBlock("strScript", strScript)
于 2013-01-09T06:10:42.237 に答える
1

vb.net コードに JavaScript コードを記述することはできません。クライアントで実行する vb.net コードに JavaScript コードを追加/埋め込むことができます。通常、aspx ページには JavaScript コードを記述する必要があります。ScriptManager.RegisterClientScriptBlockを使用 して、vb コードからスクリプトを登録できます。

于 2013-01-09T06:00:12.250 に答える
1

使っていることが分かります

$('[id^=tname] th').live('click'...

ただし、jQueryドキュメントから:

jQuery 1.7 以降、.live() メソッドは非推奨になりました。.on() を使用して、イベント ハンドラーをアタッチします。古いバージョンの jQuery のユーザーは、.live() よりも .delegate() を使用する必要があります。 http://api.jquery.com/live/

それに加えて、TH は非常に悪いイベント ターゲットです。その中のテキストではなく、THをクリックする必要があるためです。そうしないと、イベントはトリガーされません。

ここのマークアップを参照してください: http://jsfiddle.net/4eXkT/2/

それはうまくいくはずです。

実際には、vb.net コードに JavaScript を埋め込む必要はありません。ページに JavaScript ファイルをインクルードし、jQuery の.on()イベント ハンドラを使用するだけです。Web サービスから JavaScript を管理する必要がある場合は、Web サービスによって生成されたコードに従って使用される JavaScript を返すための別のエンドポイントを用意してください。

最新の jQuery 以外のバージョンを使用する必要がある場合は、上記のドキュメントを参照してください。

于 2013-01-09T07:40:14.843 に答える