У меня есть страница, которая подключается к базе данных 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 не дает мне никаких консольных ошибок.
Можете ли вы опубликовать свое решение и пометить его как ответ? – Lalman
Это было давно, я буду искать его позже и посмотреть, что это такое и опубликовать его. –