webForumDet fria alternativet

Dropdownlist där värdet jag väljer hamnar i textbox

.NET

3 svar · 632 visningar · startad av liverpool

Medlem sedan nov. 200468 inlägg
Frågan#1

Hej

Jag tänker att använda en dropdownlist där värdet jag väljer skall läggas in i två st textboxar.

************************************
Dropdownlist - hämtar från accessdatabas:
mavgift_id: 1
mavgift_namn: Familjekort
mavgift_pris: 1100 kr

****************************
Textbox1 = mavgift_namn och Textbox2 = mavgift_pris

Hittade denna koden på nätet:

Men nu kommer mavgift_namn i textbox2 också! Jag vill ha mavgift_pris istället

Här kommer koden:

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="dropdwonlist.aspx.cs" Inherits="dropdwonlist" %> 

<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" 
            OnSelectedIndexChanged="SelectedIndexChanged" DataSourceID="AccessDataSource1" 
            DataTextField="mavgift_namn" DataValueField="mavgift_namn">   
             
        </asp:DropDownList>   
           
        <asp:AccessDataSource ID="AccessDataSource1" runat="server" 
            DataFile="~/App_Data/medlemBK.mdb" 
            SelectCommand="SELECT [mavgift_namn], [mavgift_pris] FROM [MAVGIFT]"> 
        </asp:AccessDataSource> 
           
        <asp:TextBox ID="TextBox1" runat="server" />   
        <asp:TextBox ID="TextBox2" runat="server" />   
   

</asp:Content> 

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class dropdwonlist : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
    public void SelectedIndexChanged(object sender, EventArgs e) 
    { 
        DropDownList dropDownList = (DropDownList)sender; 
        if (dropDownList.SelectedValue == "Other") 
        { 
            TextBox1.Enabled = true; 
            TextBox1.Text = string.Empty; 
            TextBox2.Enabled = true; 
            TextBox2.Text = string.Empty; 
        } 
        else 
        { 
            TextBox1.Enabled = false; 
            TextBox1.Text = dropDownList.SelectedValue; 
            TextBox2.Enabled = false; 
            TextBox2.Text = dropDownList.SelectedValue; 
        } 
    }   

}
Medlem sedan juni 2000516 inlägg
#2

Testa byt ut följande delar till:

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" 
            OnSelectedIndexChanged="SelectedIndexChanged" DataSourceID="AccessDataSource1" 
            DataTextField="mavgift_pris" DataValueField="mavgift_namn">
        else 
        { 
            TextBox1.Enabled = false; 
            TextBox1.Text = dropDownList.SelectedValue; 
            TextBox2.Enabled = false; 
            TextBox2.Text = dropDownList.SelectedItem.Text; 
        }
Medlem sedan nov. 200468 inlägg
#3

Dropdownlist där värdet jag väljer hamnar i textbox

Hej

Tack det funkar :)

Men när jag försöker att använda denna kod i en Formview får jag ett felmeddelande:

Kompilatorfelmeddelande: CS0103: Namnet avgift_namnTextBox finns inte i den aktuella kontexten
RAD: 35
Källfel:

Rad 33: if (dropDownlist.SelectedValue == "Other")
Rad 34: {
Rad 35: avgift_namnTextBox.Enabled = true;
Rad 36: avgift_namnTextBox.Text = string.Empty;
Rad 37: avgift_prisTextBox.Enabled = true;

Här kommer min kod:

<asp:FormView ID="FormView3" runat="server" DataKeyNames="faktura_id" 
                DataSourceID="SkapaFaktura" DefaultMode="Insert" Width="687px">
                <InsertItemTemplate>
                    <table style="width:100%;">
                        <tr>
                            <td class="style1">
                                <strong>Medlem</strong></td>
                            <td>
                                <asp:DropDownList ID="DropDownList1" runat="server" 
                                    DataSourceID="ListamedlemsID" DataTextField="Expr1" DataValueField="medlem_id" 
                                    Text='<%# Bind("medlem_id") %>'>
                                </asp:DropDownList>
                            </td>
                        </tr>
                        <tr>
                            <td class="style1">
                                <strong>Typ av medlemsavgift</strong></td>
                            <td>
                                <asp:DropDownList ID="DropDownList2" runat="server" OnSelectedIndexChanged="SelectedIndexChanged"
                                    DataSourceID="Listamedlemsavgift" DataTextField="mavgift_namn" 
                                    DataValueField="mavgift_id">
                                </asp:DropDownList>
                            </td>
                        </tr>
                        <tr>
                            <td class="style1">
                                <strong>Typ av medlemsavgift</strong></td>
                            <td>
                                <asp:TextBox ID="avgift_namnTextBox" runat="server" 
                                    Text='<%# Bind("avgift_namn") %>' />
                            </td>
                        </tr>
                        <tr>
                            <td class="style1">
                                <strong>Typ av pris</strong></td>
                            <td>
                                <asp:TextBox ID="avgift_prisTextBox" runat="server" 
                                    Text='<%# Bind("avgift_pris") %>' />
                            </td>
                        </tr>
                        <tr>
                            <td class="style1">
                                <strong>Betalt medlemsavgift</strong></td>
                            <td>
                                <asp:CheckBox ID="faktura_betaltCheckBox" runat="server" 
                                    Checked='<%# Bind("faktura_betalt") %>' />
                            </td>
                        </tr>
                    </table>
                    <br />
                    <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" 
                        CommandName="Insert" Text="Insert" />
&nbsp;<asp:LinkButton ID="InsertCancelButton" runat="server" 
                        CausesValidation="False" CommandName="Cancel" Text="Cancel" />
                </InsertItemTemplate>        
            </asp:FormView>

*******************************************************
 protected void SelectedIndexChanged(object sender, EventArgs e)
    {
        DropDownList dropDownlist = (DropDownList)sender;
        if (dropDownlist.SelectedValue == "Other")
        {
            avgift_namnTextBox.Enabled = true;
            avgift_namnTextBox.Text = string.Empty;
            avgift_prisTextBox.Enabled = true;
            avgift_prisTextBox.Text = string.Empty;
        }
        else
        {
            avgift_namnTextBox.Enabled = false;
            avgift_namnTextBox.Text = dropDownlist.SelectedItem.Text;
            avgift_prisTextBox.Enabled = false;
            avgift_prisTextBox.Text = dropDownlist.SelectedValue;
        }   
      }
Medlem sedan nov. 200468 inlägg
#4

Dropdownlist där värdet jag väljer hamnar i textbox

Hej igen

Jag löste problemet med följande kod:

 protected void SelectedIndexChanged(object sender, EventArgs e)
    {
       [B] TextBox avgift_namnTextBox = (TextBox)FormView3.Row.FindControl("avgift_namnTextBox");
        TextBox avgift_prisTextBox = (TextBox)FormView3.Row.FindControl("avgift_prisTextBox");[/B]
        DropDownList dropDownlist = (DropDownList)sender;
        if (dropDownlist.SelectedValue == "Other")
        {
            avgift_namnTextBox.Enabled = true;
            avgift_namnTextBox.Text = string.Empty;
            avgift_prisTextBox.Enabled = true;
            avgift_prisTextBox.Text = string.Empty;
        }
        else
        {
            avgift_namnTextBox.Enabled = false;
            avgift_namnTextBox.Text = dropDownlist.SelectedItem.Text;
            avgift_prisTextBox.Enabled = false;
            avgift_prisTextBox.Text = dropDownlist.SelectedValue;
        }
    }
268 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)