JQuery -Как связать DropDownlist с базой данных Sql -Asp.net
.cs код здесь
[WebMethod]
public DataTable GetName()
{
DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("CodeNo", typeof(string));
dt.Rows.Add("Delhi","D01");
dt.Rows.Add("Noida", "N01");
return dt;
}
код здесь
$(document).ready(function () {
$().ready(function () {
$.ajax({
type: "POST",
url: "Home.aspx/GetName",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
$("#City").get(0).options.length = 0;
$("#City").get(0).options[0] = new Option("--Select--", "-1");
?.......Here ....................?
});
},
error: function () {
alert("Failed to load ");
}
});
});
Мой выход
--Выберите-- только, но я хочу... DataTable Row ("Delhi","Noida") в SelectList или DropDpwnlist, как
-Select--
Delhi
Noida
2 ответа
Решение
Код.cs
[WebMethod]
public string GetName()
{
string Result = string.Empty;
DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("CodeNo", typeof(string));
dt.Rows.Add("Delhi", "D01");
dt.Rows.Add("Noida", "N01");
if (dt.Rows.Count != 0)
{
foreach (DataRow Dr in dt.Rows)
{
Result = string.Concat(Result + "<option value=" + Dr["CodeNo"] + ">" + Dr["Name"] + "</option>");
}
}
return Result;
}
Код для.aspx
$(document).ready(function () {
$().ready(function () {
$.ajax({
type: "POST",
url: "Home.aspx/GetName",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
$("#City").html(msg.d)
});
},
error: function () {
alert("Failed to load ");
}
});
});
Ваш внутренний код выглядит хорошо. Я вижу, что вы используете JSON для заполнения выпадающего списка. Посмотрите на код ниже. Я использую это довольно часто.
$.getJSON("Home.aspx/GetName", function (data) {
var dropDown = $("#City");
dropDown.append($("<option></option>").val('').text('- Select -'));
$.each(data, function () {
dropDown.append($("<option></option>")
.val($(this).attr("CodeNo"))
.text($(this).attr("Name")));
});
});