更新日:NaNがInt32エラーの有効な値ではないのはなぜですか?
同じエラーが発生しています。 x
をクリックすると、{id:23}が返されますが、代わりに{id: NaN}
が返されます。この問題は、三項演算子を削除した場合に修正されます。
私は私のWebページへの変更作られています:それはこのだった
を:
$("#notifications").prepend("<div class='notification' id='n" + notifications.d[i].id + "'><span class='notification_text'>" + notifications.d[i].text + "</span><a href='#' class='notification_button' id='b" + notifications.d[i].id + "' value='x'>x</a></div>").show();
と、私はこれにそれを変更し、notifications.d[i].sticky
の値に応じて三条件を追加しました:
$("#notifications").prepend("<div class='notification' id='n" + notifications.d[i].id + "'><span class='notification_text'>" + notifications.d[i].text + "</span>" + (notifications.d[i].sticky ? "" : "<a href='#' class='notification_button' id='b'" + notifications.d[i].id + "' value='x'>x</a>'") + "</div>").show();
stickyがtrueの場合、その部分は正常に動作し、x
リンクを作成しません。
はしかし、私は他のどのx
をクリックしたとき、私はサーバー側のエラーメッセージを取得:
NaN is not a valid value of Int32
をサーバーサイドコードは次のようになります。私は取得していますなぜ
[WebMethod()]
public int CloseNotification(int id) {
using (connection = new SqlConnection(ConfigurationManager.AppSettings["connString"])) {
using (command = new SqlCommand("update notifications set closed_by = @user where id = @id", connection)) {
command.Parameters.Add("@id", SqlDbType.Int, 4).Value = id;
command.Parameters.Add("@user", SqlDbType.VarChar, 4).Value = "abc";
connection.Open();
intAffectedRows = command.ExecuteNonQuery();
connection.Close();
}
}
return intAffectedRows;
}
誰もが知っていますそのエラー?
私は、おそらく二重または一重引用ミス、三項欄で間違いをしたと思っていますが、私はそれを見ることができません。
あなたは、CloseNotificationがどのように呼び出されたかについて詳しくは述べていません。 – alnorth29
基本的に 'x'のidから番号を抽出してサーバに送ります。元の質問の更新を参照してください。 – nami