2014-01-15 6 views
0

그래서 내가 가지고있는 것은 내가이Html.BeginForm 및 MVC 4 검도 UI

<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> 

에서 같은 일부 검도 UI 위젯을 만들어 내부에이

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

처럼 beginform 확장자로 만든 형태는 내 컨트롤러 이메일 나는 EmailModel이 tightl은이 방법

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

이 y 위에서 양식을 포함하는보기에 Y 인드하십시오. 내가 가지고있는 질문과 문제는 그것이 가능한가, 그렇다면 어떻게 사용자가 선택한 것에 대한 정보를 담고있는 메소드에 모델을 전달할 수 있는가하는 것입니다. 아니면 내가 양식의 제출을 ​​사용할 수 없으며 수동으로 값을 가져 와서 AJAX 호출을 수행하는 사용자 정의 함수를 통해 컨트롤러에 JSON으로 전달해야합니까?

+0

만약 당신이 게시물을 사용하지 않으면 당신은 아약스 전화를 사용해야합니다 –

+0

@MattBodily 당신은 무엇을 의미합니까? 게시물을 사용하지 않습니까? –

답변

0

나는 당신이 게시물을 사용하지 않는다고 생각했습니다. 게시물을 통해 자동으로 반환되는 유일한 항목은 도우미에 넣은 필드입니다. 우리가 할 것은

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

다음 스크립트에서 우리가

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

이 컨트롤러와 당신에게 다시 게시됩니다 있도록 모델 항목이 도우미에 대한에 넣고 이런 식의 검도 부분을 초기화입니다 검도 드롭 다운의 이점을 얻으십시오. 희망이 도움이

+0

그렇기 때문에 전달 된 모델은 아니지만 도우미에서 생성 된 값일 수 있습니다. 그리고이 경우에는 MVC 래퍼를 사용할 수 없다고 생각합니다. –

+1

오른쪽, 도우미를 사용할 수 없다면 아약스 경로를 수동으로 컨트롤러에 다시 보내도록 권장합니다. –

+0

Dang :) 도움에 감사드립니다. –