簡體   English   中英

將參數從View傳遞到控制器MVC 4

[英]Pass parameter from View to controller MVC 4


我想將下拉列表的選定值從視圖傳遞到MVC 4中html.BeginForm中的控制器。
我可以傳遞查詢字符串的值,但是我不知道如何傳遞下拉列表的選定值。
歡迎所有建議。
這是我的代碼附加

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

我想在“這里應該是什么?”中選擇“ ddlsection”下拉列表的值。 部分。

您可以使用Ajax調用將Kendo Dropdownlist的選定值傳遞給Controller,然后根據需要將其重定向到另一個Action,如下所示:

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

希望這可以幫助...

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) {
           }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM