Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Frank T

Cascading Dropdownlist com parametro extra

Recommended Posts

ola!

 

Sou iniciante em Ajax e estou com dificuldade em adicionar parâmetro extra no WebMethod.

 

Tenho dois dropdownlist em cascata, ambos funcionam normalmente, entretanto preciso colocar um parametro extra no WebMethod, vindo um controle Radio ou outro dropdownlist com as opções de ativo e inativo. Quando o usuário selecionar "ativo", os ddl em cascata só exibem os produtos ativos ou vice versa.

 

segue parte do meu codigo.

 

namespace WebApplication6
{

   [WebService(Namespace = "http://tempuri.org/")]
   [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
   [system.ComponentModel.ToolboxItem(false)]


   [scriptService]
   public class WebService1 : System.Web.Services.WebService
   {

       string conString = ConfigurationManager.ConnectionStrings["skillcontroleConnectionString"].ToString();

       [WebMethod]
       public AjaxControlToolkit.CascadingDropDownNameValue[] GetDropDownFabricante(string knownCategoryValues, string category)
       {

           MySqlConnection sqlConn = new MySqlConnection(conString);
           sqlConn.Open();
           MySqlCommand sqlSelect = new MySqlCommand("SELECT DISTINCT tb_produtos.Name_Produto,  tb_produtos.idtb_produtos FROM tb_mapa_skill RIGHT OUTER JOIN tb_produtos ON tb_mapa_skill.idtb_produtos = tb_produtos.idtb_produtos WHERE (tb_mapa_skill.status_skill = 'ativo')", sqlConn);
           sqlSelect.CommandType = CommandType.Text;

           MySqlDataAdapter sqlAdapter = new MySqlDataAdapter(sqlSelect);
           DataSet myDataset = new DataSet();
           sqlAdapter.Fill(myDataset);
           sqlConn.Close();

           List<AjaxControlToolkit.CascadingDropDownNameValue> cascadingValues = new List<AjaxControlToolkit.CascadingDropDownNameValue>();

           foreach (DataRow dRow in myDataset.Tables[0].Rows)
           {
               string produtoID = dRow["idtb_produtos"].ToString();
               string produtoName = dRow["Name_Produto"].ToString();
               cascadingValues.Add(new AjaxControlToolkit.CascadingDropDownNameValue(produtoName, produtoID));
           }

           return cascadingValues.ToArray();
       }


       [WebMethod]
       public AjaxControlToolkit.CascadingDropDownNameValue[] GetDropDownModelo(string knownCategoryValues, string category)
       {
           string categoryID;

           StringDictionary categoryValues = AjaxControlToolkit.CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues);

           categoryID = categoryValues["Name_Produto"];


           MySqlConnection sqlConn = new MySqlConnection(conString);
           sqlConn.Open();
           MySqlCommand sqlSelect = new MySqlCommand
               ("SELECT DISTINCT tb_campanhas.Name_Campanha, tb_campanhas.idtb_Campanhas, tb_mapa_skill.idtb_produtos, tb_mapa_skill.status_skill FROM tb_mapa_skill INNER JOIN tb_campanhas ON tb_mapa_skill.idtb_Campanhas = tb_campanhas.idtb_campanhas WHERE (tb_mapa_skill.idtb_produtos = @name_produto) AND (tb_mapa_skill.status_skill = 'ativo')", sqlConn);
           sqlSelect.CommandType =  CommandType.Text;
           sqlSelect.Parameters.Add("Name_Produto", MySqlDbType.Int32).Value = categoryID;
           MySqlDataAdapter sqlAdapter = new MySqlDataAdapter(sqlSelect);
           DataSet myDataset = new DataSet();
           sqlAdapter.Fill(myDataset);
           sqlConn.Close();

           List<AjaxControlToolkit.CascadingDropDownNameValue> cascadingValues = new List<AjaxControlToolkit.CascadingDropDownNameValue>();

           foreach (DataRow dRow in myDataset.Tables[0].Rows)
           {
               string campanhaID = dRow["idtb_campanhas"].ToString();
               string campanhaName = dRow["Name_campanha"].ToString();
               cascadingValues.Add(new AjaxControlToolkit.CascadingDropDownNameValue(campanhaName, campanhaID));
           }

           return cascadingValues.ToArray();
       }
   }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.