none
Partial View Control Genérico RRS feed

  • Pregunta

  • Buenos días:

    Os comento mi problema: Tengo que hacer un control genérico en una vista parcial que consiste en un dropdownList de paises que guardo en mi bd. Este control lo voy a utilizar en muchos formularios, por ejemplo: regiones, barcos, usuarios...

    Pues bien, estoy utilizando la librería Kendo con el control ComboBoxFor el cual declaro así 

    @(Html.Kendo().ComboBoxFor(model => model.CountryCode)

    Todos los modelos que accedan a este control, tendran un campo que se llame "CountryCode"

    El problema que tengo es que tengo que definir arriba de la pagina un @model para que no me salte ninguna excepción pero yo no le quiero declarar ninguno concreto porque puedo entrar desde el formulario de usuario, barcos, regiones... y no se cual voy a recibir en cada momento.

    Me he vuelto un poco loco buscando soluciones y lo mas parecido a una solución que he encontrado es crear un modelo intermedio... pero tampoco me sirve porque utilizaría dos modelos en una pagina y entonces salta la excepción.

    ¿Se os ocurre que puedo hacer? ¿No puedo heredar el modelo de la vista padre?

    Os pongo parte del código que estoy utilizando

    En el Formulario padre llamo al partial así:

    <div class="editor-field">
                    <script>
                        function onAdditionalData() {
                            return {
                                text: $("#CountryCode").val()
                            };
                        }
                    </script>
                    @Html.Partial("~/Areas/mod_Forwarding/Views/Shared/EditorTemplates/_CountryComboBoxFor.cshtml")
                    @Html.ValidationMessageFor(model => model.CountryCode)
                </div>

    Partial View:

    <script>
        function onAdditionalData() {
            return {
                text: $("#CountryCode").val()
            };
        }
    </script>
    @(Html.Kendo().ComboBoxFor(model => model.CountryCode)
            .Name("CountryCode")
            .DataTextField("Name")
            .DataValueField("Id")
            .Placeholder("Select Country...")
            .AutoBind(false)
            .MinLength(2)
            .Filter("contains")
            .DataSource(source => {
                source.Read(read =>
                {
                    read.Action("GetCountriesForComboBox", "Country");
                })
                .ServerFiltering(true);
            })
    )

    en este bloque es donde me da fallo porque no encuentra un modelo.

    Gracias de antemano por sus respuestas y espero que me puedan ayudar.

    martes, 30 de julio de 2013 11:33

Todas las respuestas

  • hola

    tenias que repetir la pregunta tantas veces ? si detectas que una misma pregunta se duplico podrias eliminarlas

    el foro en la parte inferior tiene la opcion para que elimines las preguntas si es que se duplicaron

    ----

    El problema que tengo es que tengo que definir arriba de la pagina un @model para que no me salte ninguna excepción pero yo no le quiero declarar ninguno concreto porque puedo entrar desde el formulario de usuario, barcos, regiones... y no se cual voy a recibir en cada momento

    y si usas el ViewBag, con este es generico y no requiere de ningun @model

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 30 de julio de 2013 13:00
  • Perdona pero cada vez que le daba a enviar me saltaba un error y pensaba que no se publicaba la entrada.

    Lo siento pero no comprendo como me dices que utilice el ViewBag :S

    martes, 30 de julio de 2013 14:04
  • Perdona pero cada vez que le daba a enviar me saltaba un error y pensaba que no se publicaba la entrada.

    no hay problemas, se que a veces el foro produce estos fallos, pero podrias eliminar las entradas duplicadas

    Lo siento pero no comprendo como me dices que utilice el ViewBag

    revisaste el link que puse que explica como utilizar el ViewBag

    este es un objeto generico que puedes usarlo para asignar info por fuera de la clase que definas como model para la view

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 30 de julio de 2013 16:46