C# c代码中的dropdownlist错误
我想在页面加载时在DropDownList中显示一个值,该值为“1年”。 这是我的数据库表C# c代码中的dropdownlist错误,c#,asp.net,C#,Asp.net,我想在页面加载时在DropDownList中显示一个值,该值为“1年”。 这是我的数据库表 id instal 0 Choose 6 6 Month 12 1 Year 24 2 Year 36 3 Year 这是我的ASPX代码: <%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherit
id instal
0 Choose
6 6 Month
12 1 Year
24 2 Year
36 3 Year
这是我的ASPX代码:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
DataSourceID="SqlDataSource1" DataTextField="instal" DataValueField="id"
onselectedindexchanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:paconn %>"
SelectCommand="SELECT * FROM [cms_instal] ORDER BY [id]">
</asp:SqlDataSource>
</asp:Content>
但问题是,当我的页面被加载时,它会给出一个错误
“'DropDownList1'有一个SelectedValue,该值无效,因为它不在项目列表中。参数名称:value”
我正在使用ASP.Net C#,SQL Server 2008。将文本移动到
页面加载中未发生列表绑定,因此列表无法获取不在列表中的其他值。在页面加载后设置该值将允许它使用现有值 下拉列表的
text
属性获取或设置SelectedValue
。由于您的DataValueField
设置为“id”,您需要将Text
属性设置为“12”。您可以尝试此DropDownList1.SelectedItem.Text=“1年”;由于列表绑定尚未完成,您需要在加载事件之后或控件已正确绑定之后设置该值。因此,它需要从数据源加载值,以允许它从列表中设置值。
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Collections;
using System.Web.SessionState;
public partial class Default3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DropDownList1.Text = "1 Year";
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
void Page_LoadComplete(object sender, EventArgs e)
{
DropDownList1.Text = "1 Year";
}