У меня есть страница, которая подключается к базе данных Northwind, чтобы получить список категорий ...
protected void Page_Load(object sender, EventArgs e)
{
var cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["cnnString"].ConnectionString);
var cmd = new SqlCommand("SELECT CategoryID, CategoryName FROM Categories ORDER BY CategoryName", cnn);
using (cnn)
{
cnn.Open();
var dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
if (dr.HasRows)
{
var sb = new StringBuilder();
var sw = new StringWriter(sb);
using (JsonWriter jw = new JsonTextWriter(sw))
{
jw.Formatting = Formatting.Indented;
jw.WriteStartArray();
while (dr.Read())
{
jw.WriteStartObject();
jw.WritePropertyName("CategoryID");
jw.WriteValue(dr.GetInt32(0));
jw.WritePropertyName("CategoryName");
jw.WriteValue(dr.GetString(1));
jw.WriteEndObject();
}
jw.WriteEndArray();
jw.Flush();
Response.Write(sb);
}
}
}
}
Это работает так, как ожидалось. На моей странице вызова у меня есть выпадающий список, и я пытаюсь использовать jQuery для его заполнения. Возможно я делаю это неправильно. Я предполагаю, что он берет весь текст из файла .aspx, который включает в себя строки и и делает его недействительным? Если да, то как правильно это сделать или что я делаю неправильно?
$.getJSON('GetCategories.aspx', function (data) {
alert('success!');
$.each(data, function (key, val) {
$('#ddlCategories').append('<option></option>').val(key).html(val);
});
});
Оповещение никогда не происходит, поэтому оно не позволяет получить файл. Имя файла правильное, так как Chrome Inspector не выдает консольных ошибок.