2017-08-18 11 views
0

を取得し、私はほとんどのものがPOSTで行われPHPの背景から来て、それにはまだ非常に新しいですので、ASP.NETがどのように動作するかわかりません。私はコードの背後にあるVB.NETを使用しています。主にここで使われている主なプログラムはVB.NETで書かれているので、ライブラリをコンパイルせずにコードを移植性のあるものにしたいと思っています。負荷のDropDownList、[値

私の問題は次のとおりです。私はページにDropDownListを持っています。私はそれをデータベースからのデータで埋める。それはうまくいくようです。

私はDropDownBoxで選択されているものは何でもCLIENTCODEを変更する必要があり、ボタンを持っています。これは機能しません。インデックスは常に-1です。コード

Public Sub Load_CLIENTCODE_List() 
    If IsPostBack = False Then 
     Using DB As New wotcDB 
      Dim r = (From t In DB.client_main Order By t.CLIENTCODE Select t.CLIENTCODE).Distinct 
      For Each Client In r 
       Dim input As New ListItem 
       input.Text = Client 
       input.Value = Client 
       cboClientList.Items.Add(input) 
      Next 
     End Using 
    End If 
End Sub 

Private Sub cmdChangeClientCode_Click(sender As Object, e As EventArgs) Handles cmdChangeClientCode.Click 
    Dim CLIENTCODE As String = CType(Session("CLIENTCODE"), String) 
    Dim UserName As String = CType(Session("UserName"), String) 
    Using DB As New wotcDB 
     Dim u = (From t In DB.website_users Where t.UserName = UserName).FirstOrDefault 
     If u IsNot Nothing Then 
      Dim TempID As Integer = cboClientList.SelectedIndex 
      Dim TempValue As String = cboClientList.SelectedValue 
      u.CLIENTCODE = cboClientList.SelectedValue 
      DB.SaveChanges() 
     End If 
    End Using 
End Sub 

の後ろ

ページコード

<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/MasterPage.Master" CodeBehind="Admin.aspx.vb" Inherits="WOTC_CP.Admin" %> 
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="RightBody" runat="server"> 
    <% 
     Load_UserList_List() 
%> 
<h1 class="sub-header">Administration Toolbox</h1> 
<p>If you are not an Administrator, please send us an alert and leave this page at once.</p> 
<div class="row"> 
    <div class="form-group"> 
     <div class="col-md-4"> 
      <asp:Label ID="Label1" runat="server" Text="Label">Change my Clientcode;</asp:Label> 
      <asp:DropDownList ID="cboClientList" class="form-control" runat="server" > 

      </asp:DropDownList> 
      <asp:Button ID="cmdChangeClientCode" class="btn btn-primary" runat="server" Text="Change" /> 


     </div> 
    </div> 
</div> 

私はスタック上に、ここで他の回答を試してみたが、何も動作していないようにみえます。何か案は?ドロップダウンリストをASP.NETで

答えて

0

は、設定したい二つの重要な特性を有しています。 DataTextField =表示名とDataValueField = DBに格納する値。 これで、DataValueFieldを取得する場合は、 "SelectedValue"をキャプチャする必要があります。

0

問題は、私はそれが価値だ取得する前のDropDownListの人口のスクリプトをロードされたということでした。それはいつも空でした。解決策は代わりにPage_Loadにリストをロードすることでした。