json 데이터를 사용하여 SQL 서버 데이터베이스에서 특정 사용자에 대한 데이터를 가져 오려고했습니다. 그러나 콘솔에서의 항상 보여주는 오류가로 :이 오류를 해결하는 방법 "getPreventDefault() 사용이 권장되지 않습니다. 대신 defaultPrevented를 사용하십시오."
는"getPreventDefault의 사용은()는 지원되지 않습니다 대신 사용 defaultPrevented 을.."
값이 데이터베이스에서 검색되지 않습니다.
클라이언트 측 :
<body>
<form id="form1" runat="server">
<table border="0" >
<tr>
<td>
<asp:Label ID= "lblName" runat="server" Text="Name" ></asp:Label>
</td>
<td>
<asp:TextBox ID="txtName" runat="server" Text="" /><br />
</td>
</tr>
<tr>
<td>   </td>
</tr>
<tr>
<td colspan ="2" >
<asp:Button ID="btnShow" Text="Show" runat="server" />
</td>
</tr>
</table>
<hr /><asp:GridView ID="gvUsers" runat="server" AutoGenerateColumns="false" HeaderStyle-BackColor="#3AC0F2"
HeaderStyle-ForeColor="White" RowStyle-BackColor="#A1DCF2">
<Columns>
<asp:BoundField DataField="Username" HeaderText="Username" />
<asp:BoundField DataField="Password" HeaderText="Password" />
</Columns>
</asp:GridView>
</form>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="http://cdn.jsdelivr.net/json2/0.1/json2.js"></script>
<script type="text/javascript">
$(function() {
$("[id*=btnShow]").bind("click", function() {
var user = {};
user.Name = $("[id*=txtName]").val();
user.grd = $("[id*=gvUsers]").val();
$.ajax({
type: "POST",
url: "View.aspx/ViewUser",
data: '{user: ' + JSON.stringify(user) + '}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
//alert("User has been added successfully.");
window.location.reload();
}
});
return false;
});
});
</script>
</body>
서버 측 :
내 코드는
<WebMethod()> _
<ScriptMethod()> _
Public Shared Sub ViewUser(user As Users)
Dim grd As GridView
grd = user.grd
'Dim gvUsers As GridView
Dim constr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
Using con As New SqlConnection(constr)
Using cmd As New SqlCommand("SELECT * FROM Users Where Username = @Name")
Using sda As New SqlDataAdapter()
Dim dt As New DataTable()
cmd.CommandType = CommandType.Text
cmd.Parameters.AddWithValue("@Name", user.Name)
cmd.Connection = con
sda.SelectCommand = cmd
sda.Fill(dt)
'grd.Visible = True
grd.DataSource = dt
grd.DataBind()
End Using
End Using
End Using
End Sub
End Class
Public Class Users
Public Property Name() As String
Get
Return _Name
End Get
Set(value As String)
_Name = value
End Set
End Property
Private _Name As String
Public Property grd() As GridView
Get
Return _grd
End Get
Set(value As GridView)
_grd = value
End Set
End Property
Private _grd As GridView
End Class
하지만 내 datas는 웹 페이지에 표시되지 않습니다. 사전에 감사합니다.
오류는 표시된 코드와 관련이 없습니다. 다른 라이브러리가 귀하의 페이지에 포함되어 있습니까? –
'defaultPrevented = true'를 시도하십시오. – Harish
@RoryMcCrossan : 사용중인 jQuery 버전입니다. –