Domanda

So what I have is a form created with the beginform extension like this

using (Html.BeginForm("SendEmail", "Email", FormMethod.Post, new { id = "emailForm",    
onsubmit = "return Check();"})){

inside I created some Kendo Ui widget like this

<table>
  <tr>
    <td>@Html.LabelFor(x => x.Senders)</td>
    <td>
      @(Html.Kendo().DropDownList()
        .Name("Sender")
        .DataTextField("Text")
        .DataValueField("Value")
        .BindTo(Model.Senders))
     </td>
  </tr>
  <tr>
      <td>@Html.Raw(Server.HtmlDecode(@Model.RecipientTable))</td>                                    
  </tr>
  <tr>
     <td colspan ="2">
       @(Html.Kendo().MultiSelect()
         .Name("Users")
         .DataTextField("Name")
         .DataValueField("Id")
         .Placeholder("Optional - Choose additional users to send emails to:")
         .ItemTemplate("#=LastName #, #=FirstName # #=MiddleInitial #")
         .TagTemplate("#=LastName #, #=FirstName # #=MiddleInitial #")
         .BindTo(Model.OptionalUsers))
     </td>
  </tr>

in my controller Email I have this method

[HttpPost]
public bool SendEmail(EmailModel Email){ .. stuff....}

Where the EmailModel is tightly bind to the view that contains the form from above. The question and trouble I am having is that is it possible and if so how, to have the model passed to the method containing information about what the user chose? Or is it that I can not use the form's submit and will have to manually get the value and pass it as a JSON to the controller via custom function that does a ajax call?

È stato utile?

Soluzione

I thought I read that you weren't using post. The only items that are returned automatically through the post are fields that have been put in a for helper. What we do is

@Html.DropDownListFor(x => x.Sender, new { @class = "ddlSender" })

then in the script we initialize the kendo part of it

$('.ddlSender').kendoDropDownList();

this way the model item is put in a for helper so it gets posted back to the controller and you get the benefits of the kendo dropdown. Hope this helps

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top