1

c-sharp で webmethod を呼び出す javascript のコードがあります。javascript コードと web メソッドを以下に示します。

JavaScript コード:

var _data = {

            '_mStart': document.getElementById("St_Period").value,
            '_mEnd': document.getElementById("En_Period").value
        };

                  $.ajax({
                      type: "POST",
                      url: "maps.aspx/myFunc",
                      data: _data,
                      contentType: "application/json; charset=utf-8",
                      dataType: "json",
                      success: function(msg) {
                        alert("success!")
          }

        });

WEB方式:

 [WebMethod]
    public static void myFunc(DateTime? _mStart, DateTime? _mEnd)
    {

        try
        {

            SqlConnection con=new SqlConnection("server=SWAPPS_LAP\\SQLEXPRESS;Initial Catalog=moogle;Integrated Security=True;MultipleActiveresultSets=true");
            SqlCommand cmd = new SqlCommand();
            con.Open();
            cmd = new SqlCommand("insert into MEDIA_BOOKING(ST_PERIOD,END_PERIOD,ENTERED_BY,ENTERED_ON) values(@st,@end,@by,@on)", con);
            cmd.Parameters.AddWithValue("@st", _mStart);
            cmd.Parameters.AddWithValue("@end", _mEnd);

            cmd.Parameters.AddWithValue("@on", DateTime.Now);
            cmd.ExecuteNonQuery();
            con.Close();
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

しかし、コードを実行するとエラーが発生します

POST http://localhost:50060/moogle/maps.aspx/myFunc 500 (Internal Server Error) jquery.js:8102
jQuery.ajaxTransport.send jquery.js:8102
jQuery.extend.ajax jquery.js:7580
savebook maps.aspx:398
onclick

パラメンターに何か問題があるのではないかと思います。おそらく、それらは適切な形式ではありませんか?

4

1 に答える 1

0

パラメータの値を指定していません@by。エラーの内容を確認するには、catch ステートメントにブレークポイントを追加してみてください。その段階に達していない場合は、リクエストの本文を投稿してみてください。これにより、人々はリクエストが何であるかを確認し、詳細を理解して回答できるようになります。

于 2012-05-28T08:34:27.127 に答える