データベースから動的に入力される asp ボタンと 4 つのドロップダウン リストがあります。ボタンをクリックすると、ドロップダウン リストから選択した値が SQL ストアド プロシージャに渡されます。代わりに、選択した値ではなく、各ドロップダウン リストの最初の値が渡されます。aspx ページのコードは次のとおりです。
<asp:DropDownList runat="server" ID="ddlCountry" AppendDataBoundItems="True">
</asp:DropDownList>
<asp:DropDownList runat="server" ID="ddlTypeStructure" AppendDataBoundItems="True">
</asp:DropDownList>
<asp:DropDownList runat="server" ID="ddlCategory" AppendDataBoundItems="True">
</asp:DropDownList>
<asp:DropDownList runat="server" ID="ddlSegment" AppendDataBoundItems="True">
</asp:DropDownList>
<asp:Button runat="server" ID="btnSearhProjects" Text="Go"
CausesValidation="False" onclick="btnSearhProjects_Click" UseSubmitBehavior="False" />
ボタンの C# コード ビハインドは次のとおりです。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindCountries();
BindCategories();
BindSegments();
BindStructures();
}
}
public void SearchProjects()
{
Project project = new Project();
string country = ddlCountry.SelectedItem.Text;
string category = ddlCategory.SelectedItem.Text;
string segment = ddlSegment.SelectedItem.Text;
string structure = ddlTypeStructure.SelectedItem.Text;
List<Project> projectList = project.GetProjects(country, category, segment, structure);
gvProjects.DataSource = projectList;
gvProjects.DataBind();
}
protected void btnSearhProjects_Click(object sender, EventArgs e)
{
SearchProjects();
}
そして、これは私が各ドロップダウンリストに入力する方法です:
public void BindCountries()
{
List<Country> countryList = new List<Country>();
Country country = new Country();
countryList = country.GetCountries();
ddlCountry.DataTextField = "CountryName";
ddlCountry.DataValueField = "CountryID";
ddlCountry.DataSource = countryList;
ddlCountry.DataBind();
}
ddlCountry.SelectedValue.Text
andを使用してみddlCountry.SelectedItem.Value
ましたが、機能しません。どんな助けでも大歓迎です。ありがとうございました。