首页 > 解决方案 > 如何将动态值传递给@Html.Action()

问题描述

我有一个 Kendo Grid,我正在使用 ASP.NET MVC。根据用户单击网格行时的要求,我需要调用部分视图并动态传递 id。我通过@Html.Action() 调用部分视图,如下所示。它可以工作,但如您所见,当前 id 字段“516”是硬编码的。如何将动态值传递给字段 id?我是新手,如果你能帮忙会很棒吗?

@Html.Action("SubmissionHeader", "Submission", new { id = 516, tab = 0 })

这是代码,仅供参考 - showdetails() 是用户单击 Kendo Grid Row 时调用的函数。

<div ng-controller="submissionDashboardController">

    @Html.JsonDataSourceVariable("customfieldmaps", "CustomFieldMaps", "Utility")

    <script>
        var includeClosed = @Model;
        var preventAllGridDataLoad = true;
        var preventMyGridDataLoad = true;
    </script>

@Html.Action("SubmissionHeader", "Submission", new { id = 533, tab = 0 })


    <div class="row form-group  ">
    <div class="col-xs-12 col-nopadding-left col-nopadding-right" style="padding-bottom:20px;">
                <div kendo-tooltip k-options="toolTipOptions">
                    <div id="allsubmissionsGrid" data-grid-id="allsubmissionsGrid" kendo-grid="allsubmissionsGrid" k-options="allsubmissionsGridOptions()"></div>
                </div>
        </div>   
    <div>

@Html.SubmissionCreationActions()  @* SubmissionController.CreateNewSubmission  returns view _SubmissionCreation  which is modal  *@
    


<script>
    function showDetails(e) {
        var grid = $("#mysubmissionsGrid").data("kendoGrid");
        $(grid.tbody).on("click", "td", function (e) {// Other Code...}
    }

</script>

这是我的行动:

public ActionResult SubmissionHeader(int? id, SubmissionTabEnum tab = SubmissionTabEnum.None)
        {
            var rules = DIResolver.GetConcreteInstanceOf<ISubmissionRules>();
            var model = _submissionSvc.GetSubmissionHeaderViewModel(id.GetValueOrDefault()) ?? new SubmissionHeaderViewModel();

 TempData["SubmissionHeaderID"] = id;
            return PartialView("_SubmissionHeader", model);
}

标签: javascriptasp.net-mvcpartial-viewshtml.actionlinkdynamic-values

解决方案


推荐阅读