我有一个 html 控件select
<select id="Select1" runat="server" name="D1">
<option></option>
</select>
如何使用or用我的SQL Server
数据库中的数据填充它?C#
JavaScript/jQuery/JSON
请不要发布有关如何填充 a 的答案,asp:DropDownList
因为我已经知道该怎么做,我必须使用select
控件。
我有一个 html 控件select
<select id="Select1" runat="server" name="D1">
<option></option>
</select>
如何使用or用我的SQL Server
数据库中的数据填充它?C#
JavaScript/jQuery/JSON
请不要发布有关如何填充 a 的答案,asp:DropDownList
因为我已经知道该怎么做,我必须使用select
控件。
aspx:
<select id="Select1" runat="server" name="D1">
</select>
后面的代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string ConnectString = "server=localhost;database=pubs;integrated security=SSPI";
string QueryString = "select * from authors";
SqlConnection myConnection = new SqlConnection(ConnectString);
SqlDataAdapter myCommand = new SqlDataAdapter(QueryString, myConnection);
DataSet ds = new DataSet();
myCommand.Fill(ds, "Authors");
Select1.DataSource = ds;
Select1.DataTextField = "au_fname";
Select1.DataValueField = "au_fname";
Select1.DataBind();
}
}
function GetItems() {
var items;
$.getJSON("/api/MethodName/" + id(Optional), function (data) {
$.each(data, function (key, val) {
items += "<option value='" + val.id+ "'>" + val.value+ "</option>";
});
var header = '<option value=\'\'>Select...</option>';
$('#Select1').html(header + items);
});
};
您可以使用 asp.net webapi for json,它非常简单快捷
您可以json
在 ajax 中使用,但您必须使用一些 web 服务从服务器返回 json。
$.ajax({
url:'/path/to/webservice/method',
type:'POST',
dataType: 'json',
success: function(data){
$.each(data, function(i, item){
$('<option value="'+item.val+'">'+item.text+'</option>').appendTo('#Select1');
});
},
error: function(){
console.log('err')
}
});
在后面的代码中:
string options = string.Empty;
using (SqlConnection sql_conn = new SqlConnection(ConfigurationManager.ConnectionStrings["connstr"].ToString()))
{
SqlDataAdapter sql_adapter = new SqlDataAdapter("select Value, Name from YourTable", sql_conn);
DataSet ds = new DataSet();
sql_adapter.Fill(ds, "TempTable");
foreach (DataRow row in ds.Tables["TempTable"].Rows)
{
options = "<option value='" + row["Value"] + "'>" + row["Name"] + "</option>";
}
sql_conn.Close();
return options;
}
然后你可以使用jquery:
$.get(url, function (data) {
$('#Select1').html(data);
});
您可以使用中继器
<select>
<asp:Repeater ID="Repeater1" runat ="server" DataSourceID="SqlDataSource1">
<ItemTemplate>
<option value='<%# Eval("ID")%>'> <%# Eval("ITEMNAME")%></option>
</ItemTemplate>
</asp:Repeater>
</select>
using (SqlConnection con = new SqlConnection("Data Source = [HostName]; Initial Catalog = CustomerOrders; Integrated Security = true"))
{
SqlCommand cmd = new SqlCommand("SELECT Name FROM Customer", con);
con.Open();
dropDownList.DataSource = cmd.ExecuteReader();
dropDownList.DataTextField = "Name";
dropDownList.DataValueField = "Name";
dropDownList.DataBind();
}