2016-04-01 1 views
0


Je veux passer la valeur sélectionnée dropdownlist de la vue au contrôleur en Html.BeginForm dans MVC 4.
je peux passer la valeur de chaîne de requête, mais je n'ai aucune idée comment passer la valeur sélectionnée de dropdownlist.
Toutes les suggestions sont les bienvenues.
Voici mon code ci-joint
paramètre Pass View au contrôleur MVC 4

<form> 
    <fieldset class="form-group" id="ddl2"> 
     <label for="exampleSelect1">Section Type:</label> 
      @(Html.Kendo().DropDownList() 
       .Name("ddlsection") 
       .DataTextField("Name") 
       .DataValueField("Id") 
       .OptionLabel("--Select--") 
       .DataSource(source => 
       { 
        source.Read(read => 
        { 
         read.Action("GetSectionType", "LookUp"); 
        }); 
       }) 
       .Events(e => e.Change("onChange_ddlsection")) 
       .HtmlAttributes(new { @class = "form-control" }) 
      ) 
    </fieldset> 
</form> 
    <div class="WordClass"> 
     @using (Html.BeginForm("GetConditionListingInWord", "Inspection", new { sectionId = 'What should be here?' }, FormMethod.Post, new { enctype = "multipart/form-data" })) 
     { 
      <input id="Submit1" type="submit" value="" class="WordClassA tooltipSource" title='Print List in MS-Word format' data-placement='bottom' data-toggle='tooltip' /> 
     } 
    </div> 

Je veux « ddlsection » la valeur sélectionnée dans la liste déroulante «Que devrait être ici? section.

+0

Pour un début, votre 'Kendo(). DropDownList()' doit être dans les balises de formulaire. Vous ne savez pas ce que vous voulez dire par 'new {sectionId = 'Qu'est-ce qui devrait être ici?' } '? 'SectionId' est la valeur à laquelle vous voulez vous lier? –

+0

Merci pour la réponse rapide. oui, sectionId est le nom du paramètre et je veux lier la valeur sélectionnée de la liste déroulante avec ceci. – 3rdEye

+0

Enlever 'new {sectionId = 'Que devrait être ici?' } 'et mettez votre liste déroulante à l'intérieur des balises'

'et nommez-la' sectionId' –

Répondre

-1
For that you have to make AJAX call to your controler method 

var userModel = { 
      RoleId: $("#drpRoleId").data("kendoDropDownList").value(), 
     } 

$.ajax({ 
      url: '@Url.Action("AddEditUser","User")', 
      type: 'POST', 
      data: JSON.stringify(userModel), 
      async: true, 
      dataType: 'json', 
      contentType: 'application/json; charset=utf-8', 
      success: function (data) { 
      } 
}); 
-1

Vous pouvez passer de Kendo DROPDOWNLIST la valeur sélectionnée au contrôleur en utilisant l'appel Ajax puis rediriger vers une autre action si vous voulez, comme indiqué ci-dessous:

<script type="text/javascript"> 

    $(function() { 

     //Returns Dropdownlist's selected values to the Controller 
     $("#btnSubmit").click(function (e) { 
      e.preventDefault(); 

      var data = { 
       ProjectID: $('#ProjectID').val(), //parameter I 
       IssueID: $('#IssueID').val()  //parameter II 
      } 
      $.ajax({ 
       type: "POST", 
       url: "/Controller/Action", 
       cache: false, 
       data: JSON.stringify(data), 
       dataType: this.dataType, 
       contentType: "application/json; charset=utf-8",     
       success: function (data) { 
        // Variable data contains the data you get from the action method 
        window.location = "/Controller/OtherAction/" + data 
       }, 
       error: function (data) { 
        $("#error_message").html(data); 
       } 
      }); 
     }); 

    }); 

</script> 

Hope this helps ...