0

データベースから入力するaspドロップボックスがあります:

これはaspxです

<asp:DropDownList runat="server" ID="ddl_last" AppendDataBoundItems="true">

そしてこれはcsです:

  ddl_last.DataSource = eggsContext.Customers;
        ddl_last.DataValueField = "last_name";
        ddl_last.DataTextField = "last_name";
        ddl_last.DataBind();

C# コードから ddl_last.SelectedValue を取得しようとすると、何も取得されません。実際、ddl_last.Items カウントは 0 です! コードから入力するのではなく、aspx に書き込む場合

<asp:ListItem Text="example" />

すべてが機能します。

document.getElementById('ddl_last').value; と書くことで、javascript から値を取得できます。

しかし、これがコードビハインドから機能しないという今回、マイクロソフトは何を台無しにしたのだろうかと思っていました。

4

2 に答える 2

1

コメントであなたの問題を見た後、これはあなたがそれを解決するのに役立つかもしれないと思います:

ページのビュー ステートを無効にし、ページ上の特定のコントロールに対して有効にするには、ページコントロールの EnableViewState プロパティを true に設定し、ページの ViewStateMode プロパティを Disabled に設定し、コントロールの ViewStateMode プロパティを設定します。有効にします。

http://msdn.microsoft.com/en-us/library/system.web.ui.control.viewstatemode.aspx

また、ViewState が無効になっている場合でも、投稿された値を次の方法で取得できます。

if (Request["ddl_last"] != null)
    val = Request["ddl_last"];
于 2012-06-19T16:51:17.430 に答える
0

問題を見ると、ddl_last.SelectedValueおよびddl_last.Itemsカウントにアクセスしようとすると、ddl_lastリス​​トがデータにバインドされていないようです。データをバインドした後、これらの値にアクセスしていることを確認してください

于 2012-06-19T16:48:03.173 に答える