如何将数据从一个 Angularjs 控制器函数传递到局部视图?

问题描述

我有一个 main.cshtml,我在其中添加一个局部视图,其中我有一个下拉“commentrecipients”。当用户单击链接时,我需要向 partialview 发送少量数据(SubmissionID 和 entityOrganizationID)以填充下拉值。如何将数据从一个 angularjs 控制器函数发送到另一个控制器 cshtml/.js 以在加载时正确处理此部分视图?这可能很简单,但我是新手,你能帮忙吗?

Main.cshtml 视图中的局部视图 -

<div id="submissionCommentPartialViewDiv">
 @Html.Partial("_SubmissionCommentActions",new SubmissionHeaderActionviewmodel());
</div>

这是链接

"<h7>" + "" + "<a href='displayCommentDialog' onclick=\"displayCommentDialog(" + SubmissionID + "," + EntityOrganizationID + "); return false;\">" + "Add Comment" + "</a><br></h7>" +
    

这是我的 Angular JS 控制器,我在其中向 Partial 视图发送请求并打开一个模态。在这里,我可以访问 SubmissionID、entityOrganizationID

ListSubmissionDashboard.js -

mainApp.controller('submissionDashboardController',['$rootScope','$http','$scope','viewDataService','stateService','utilityService',function ($rootScope,$http,$scope,viewDataService,stateService,utilityService) {

    function displayCommentDialog(SubmissionID,entityOrganizationID) {
        var kendoWindow = $("#dialog").data("kendoWindow");
        kendoWindow.close();
    
        $("div.row.submission-header-title").css("display","");
    
        $('#headerCommentModal').modal({
            show: true,backdrop: 'static',keyboard: false
        });
    }
}]);

部分视图:_submissionComment.cshtml。在这里,我需要访问 SubmissionID 和 EntityOrganizationID 并删除硬编码并重新加载 SubmissionHeaderActions.js 以填充评论收件人下拉列表。我该怎么做?

@model Foreside.AdCompliance.Domain.Model.Submission.SubmissionHeaderActionviewmodel

@{
    // Here I need access to SubmissionID and EntityOrganizationID and remove these hardcoding. 
    var SubmissionID = 516;
    var EntityOrganizationID = 214;
    Model.EntitySubmissionID = 516;
    Model.EntityOrganizationID = 214;
}


<!-- _SubmissionHeaderActions  end  -->

@Html.Hidden("SubmissionHeaderID",SubmissionHeaderID,new { data_ng_model = "model.SubmissionHeaderID" })

@Html.JsonDataSourceVariable("securitygroupsusers","SecurityGroupsUsersAccessRight","Utility",Model.EntityOrganizationID.GetValueOrDefault())

<script>
    var dropdownlist = $("#commentrecipients").data("kendoDropDownList");
    dropdownlist.refresh();
</script>
<!-- _SubmissionHeaderActions  start  -->
<div class="stayenabledonclose">
    <div class="form-horizontal" ng-controller="submissionHeaderActionsController">
        <div id="headerCommentModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="submissionComment-title" style="padding-right:19px;">
            <div class="modal-dialog" role="document">
                <div id="adcmodal" class="modal-content">
                    <div id="adcmodal" class="modal-header col-nopadding ">
                        <h3 class="modal-title" id="submissionComment-title">Submission Comment | SubmissionID: @Model.SubmissionID | EntityOrganizationID : @Model.EntityOrganizationID</h3>
                        <button type="button" class="close pull-right" data-dismiss="modal" aria-label="Close">
                            <span aria-hidden="true"><i class="fas fa-times"></i></span>
                        </button>
                    </div>
                    <div class="modal-body submissioncomment-modal-body">
                        <div class="row form-group spacer">
                            <div class="col-md-12">
                                <div class="col-md-12">
                                    @Html.Label("Recipients")
                                    <select id="commentrecipients" class="dirtyignore" kendo-multi-select k-options="securitygroupsuseRSSelectOptions()"></select>
                                </div>
                            </div>
                        </div>

                        @Html.Hidden("SubmissionHeaderID",SubmissionHeaderID)
                        <div class="row form-group spacer">
                            <div class="col-md-12">
                                <div class="col-md-12">
                                    @Html.Label("Comment (will be sent to the recipients via email)")
                                    @Html.TextArea("Comment","",new { @class = "form-control dirtyignore",rows = "2",maxlength = "1000",data_ng_model = "model.comment" })
                                </div>
                            </div>
                        </div>
                    </div>
                    <div id="adcmodal" class="modal-footer ">
                        <input type="button" id="Close" value="Close" class="adcmodal-button" data-dismiss="modal" aria-label="Close" />
                        <input type="button" id="Send" value="Send" class="adcmodal-button" ng-click="send(@Model.EntityOrganizationID)" />
                    </div>
                </div>
            </div>
        </div>
    </div>

    @if (Model.SubmissionID != 0)
    {
        @Html.SubmissionReassignmentActions(Model.SubmissionID) @* Submission.SubmissionReassignment  _SubmissionReassignment*@
    }

</div>

@using (Html.requiredScripts())
{
    @Html.RequirePageScript("Submission","ListSubmissionDashboard")
    @Html.RequirePageScript("Shared","GridPersonalization")
    @Html.RequirePageScript("Shared","SubmissionHeaderActions")
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)