0

javascript/jqueryでボタンをクリックしたときにこのメソッドを起動したい

これは私のウェブメソッドです。

 [WebMethod] 
public static string haldlescrolling(string name, string address)
{
    String str = string.Empty;

    httpWebRequest2 =             (HttpWebRequest)WebRequest.Create("http://ws.vidlib.com/video/list");
    httpWebRequest2.ContentType = "application/json";
    httpWebRequest2.Method = "POST";

    int start1 = start + 10;

    using (var streamWriter = new StreamWriter(httpWebRequest2.GetRequestStream()))
    {
        int max1 = max + 10;
        max = max + 10;
        string more = "{\"StartRowIndex\":\"" + start + "\",\"MaximumRows\":\"" + max + "\"}";
       // string json2 = js + more;
        streamWriter.Write(more);
        streamWriter.Flush();
        streamWriter.Close();
        var httpResponse = (HttpWebResponse)httpWebRequest2.GetResponse();
        using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
        {
            string result = streamReader.ReadToEnd();
            l1 = (List<Test>)Newtonsoft.Json.JsonConvert.DeserializeObject(result, typeof(List<Test>));
            for (int i = 0; i < l1.Count; i++)
            {
                str = str + "<img src='https://s3.amazonaws.com/movingmediapurchase/thumbnail/48748.jpg' />";
                string video_id = l1[i].ClipId.ToString();
                str = str + "<div id='parent'  style=\"position:relative; float:left; text-align: top;\" onmouseover='callMouseOver(\"" + video_id + "\")' onmouseout='callMouseOut(\"" + video_id + "\")' ><a href='" + l1[i].PreviewUrl.ToString() + "' class='html5lightbox' data-width='450' data-height='350'><img src='" + l1[i].ThumbnailUrl.ToString() + "' class ='thumbnail'/></a><div id='" + video_id + "' style='display: none;position: absolute; z-index:10000; top: 110px; left:30px ; height: 34px;'><img src='tweetbutton.png'/><img src ='small-facebook-like-butto.gif' /><img src='pinit-button.png' /></div></div>" + "&nbsp;";

                /*
                Label1.Text = l1.Count.ToString();
                Image1.ImageUrl = l1[0].ThumbnailUrl.ToString();
                Label1.Text = l1[0].ThumbnailUrl.ToString();
                 * 
                 */
            }
        }
    }
    return str;
}

上記のコード ビハインド メソッドを呼び出す JavaScript メソッドを作成するにはどうすればよいですか?

4

1 に答える 1

1

jQueryを使用している場合は、次のようなJavaScriptコードを使用できます(あなたの場合はこれをお勧めします):

$(function() {
    $('#idOfButton').click(function() {
        $.ajax({
            type: "POST",
            url: "Default.aspx/haldlescrolling",
            data: "{name: 'name', address: 'address'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                // do something on success
                $('#idOfDiv').html(msg.d);
            },
            error: function() {
                // do something on error
            }
        });
    });
});

最初の行は、DOM が読み込まれたときに関数が実行されることを示しています。

$(function() {});

2 行目は、イベント ハンドラーを id のボタンのクリック イベントにアタッチしますidOfButton

$('#idOfButton').click(function() {});

この呼び出しは、 ajax 呼び出しを容易にするため$.ajax()の jQuery (ドキュメントを参照) のメソッドです。

上記のコードは純粋な JavaScript ではなく、jQuery に依存しています。jQuery は、JavaScript コードをより簡単に、より読みやすくするためのライブラリーです。絶対に使用することをお勧めしますが、他にもライブラリがあります。

于 2013-04-23T10:42:52.323 に答える