Pergunta

Parece que isso deve ser simples, mas eu estou incompreensível. Eu tenho o meu listview toda a configuração e obrigado à minha LINQ fonte de dados. A fonte é dependente de uma lista suspensa que decide qual a informação ramo para mostrar na listview. Meu modelo de edição funciona bem, mas o meu modelo de inserção não funcionará porque ele quer o ID ramo que eu quero começar a partir do dropdownlist fora do listview, mas eu não sei como ambos se ligam esse valor e colocá-lo em meu modelo. Parece que este:

<InsertItemTemplate>
    <tr style="">
      <td>
         <asp:Button ID="InsertButton" runat="server" CommandName="Insert" 
               Text="Insert" />
     </td>
      <td>
       <asp:TextBox ID="RechargeRateTextBox" runat="server" 
          Text='<%# Bind("RechargeRate") %>' />
         </td>
              <td>
       <asp:Calendar SelectedDate='<%# Bind("StartDate") %>' ID="Calendar1"  runat="server"></asp:Calendar>                                    
       </td>
           </tr>
    </InsertItemTemplate>

Eu preciso para obter uma etiqueta lá que se liga ao valor de um dropdownlist fora databound asp do listview para que a inserção irá funcionar.

Foi útil?

Solução 2

Eu acabei indo com isso, graças twanfosson.

protected void ListView1_ItemInserting(object sender, System.Web.UI.WebControls.ListViewInsertEventArgs e)
        {
            e.Values["BranchID"] = DropDownList1.SelectedValue;
        }

Outras dicas

Use o OnSelectedIndexChanged (com AutoPostBack = true) callback para o DropDownList para definir manualmente os valores na ListView para os padrões para esse ramo quando o valor das mudanças DROPDOWNLIST.

protected void BranchDropDownList_OnSelectedIndexChanged( object sender, EventArgs e )
{
    DropDownList ddl = (DropDownList)sender;
    RechargeRateTextBox.Text = BranchManager.GetRechargeRate( ddl.SelectedValue );
}

Enrole a coisa toda em um UpdatePanel e tudo pode acontecer via AJAX.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top