视图' GetMetaDataDetails'或者找不到它的主人,或者没有视图引擎支持搜索到的位置

时间:2017-08-02 07:23:57

标签: c# asp.net ajax

我有一个页面可以说Edit.cshtml该页面是要更新的项目的下拉列表。加载该页面没有问题,当我在下拉列表中选择一个项目并执行ajax调用时会出现问题。

$('#dDL').kendoDropDownList({
        optionLabel: "Select",
        dataTextField: "Value",
        dataValueField: "Id",
        dataSource: {
            transport: {
                read: '@Url.Action("GetItems", "BulkEdit")',
            }
        },
        change: function (e) {
           //this is where i call the '@Url.Action("GetMetaDataDetails", "BulkEdit")'
            var test = getMetaDataDetails();

            popupwindow.data("kendoWindow").open();
            popupwindow.kendoWindow({
                width: "600px",
                title: "Mapping",
                visible: false,
                //modal: true,
                animation: {
                    close: {
                        effects: "fade:out"
                    }
                },
                actions: [
                    "Pin",
                    "Minimize",
                    "Maximize",
                    "Close"
                ],
            }).data("kendoWindow").center().open();
        }
    });

它通过控制器没有问题,但如果我返回一个视图它会抛出错误。为什么呢?

这是我的ajax电话:

function getMetaDataDetails() {
        return $.ajax({
            type: "POST",
            url: '@Url.Action("GetMetaDataDetails", "BulkEdit")',
            contentType: "application/json; charset=utf-8",
            data: JSON.stringify({ itemTypeID: itemtypeID.toString() }),
            dataType: "json",
            success: function (data) {
                debugger;
                var checks = data;

            },
            error: function (data) {
                debugger;
                var check = data;
                alert(result);
            }
        });
    }

这是我的控制者:

[HttpPost]
        public virtual ActionResult GetMetaDataDetails(int itemTypeID)
        {
            var importProperties = GetImportColumnProperties(GetModel(itemTypeID));

            var result = JsonConvert.SerializeObject(importProperties, Formatting.Indented,
                           new JsonSerializerSettings
                           {
                               ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                           });

            ViewData["MetaDataModel"] = importProperties;

            return Json(result, JsonRequestBehavior.AllowGet);
        }

这是应在执行getMetaDataDetails()后填充的弹出窗口,itemMetaData应该返回值getMetaDataDetails()

@(Html.Kendo().Window()
            .Name("itemwindow")
            .Title("Item Mapping")
            //.Modal(true)
            .Content(@<text>
                <table class="table table-bordered">
                    <thead>
                        <tr>
                            <th>Table Column</th>
                            <th>Excel Column</th>
                        </tr>
                    </thead>
                    @foreach (var props in itemMetadata.GetType().GetProperties())
                    {
                        var label = props.GetCustomAttribute<CanBulkUpdateAttribute>().CanBulkUpdate;
                        if (label == true)
                        {
                            var disp = props.GetCustomAttributes<DisplayPropertyName>();
                            <tbody>
                                <tr>
                                    <td class="col-sm-3">
                                        <label>
                                            @disp.First().DisplayName
                                        </label>
                                    </td>
                                    <td class="col-sm-3">
                                        <select kendoDropDownList name="" id="ddlitem_@props.Name" style="width :250px;"></select><br>
                                    </td>
                                </tr>
                            </tbody>
                        }
                    }
                </table>
                <button id="uploadAll" onclick="updatetable()" class="btn btn-primary">Update</button>

            </text>)
            //.Width(420)
            .Height(440)
            .Visible(false)
    )

我需要使用GetMetadataDetails的返回作为我的"popupwindow"的模型 希望你能帮帮我。

0 个答案:

没有答案