如何将数据从一个Angularjs控制器函数传递到partialview?
我有一个main.cshtml,我在其中添加了一个局部视图,其中有一个下拉列表“commentrecipients”。当用户单击链接时,我需要将少量数据(SubmissionID和entityOrganizationID)发送到partialview以填充下拉列表值。如何将数据从一个angularjs控制器函数发送到另一个控制器cshtml/.js,以便在加载时正确处理此部分视图?这可能很简单,但我是新手,你能帮忙吗 Main.cshtml视图中的Partialview-如何将数据从一个Angularjs控制器函数传递到partialview?,angularjs,asp.net-mvc,modal-dialog,partial-views,asp.net-mvc-partialview,Angularjs,Asp.net Mvc,Modal Dialog,Partial Views,Asp.net Mvc Partialview,我有一个main.cshtml,我在其中添加了一个局部视图,其中有一个下拉列表“commentrecipients”。当用户单击链接时,我需要将少量数据(SubmissionID和entityOrganizationID)发送到partialview以填充下拉列表值。如何将数据从一个angularjs控制器函数发送到另一个控制器cshtml/.js,以便在加载时正确处理此部分视图?这可能很简单,但我是新手,你能帮忙吗 Main.cshtml视图中的Partialview- <div id=
<div id="submissionCommentPartialViewDiv">
@Html.Partial("_SubmissionCommentActions", new SubmissionHeaderActionViewModel());
</div>
部分视图:_submissionComment.cshtml。在这里,我需要访问SubmissionID和EntityOrganizationID,删除硬编码并重新加载SubmissionHeaderActions.js,以便填充commentrecipients下拉列表。我怎么做
@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")
}
@model Foreside.AdCompliance.Domain.model.SubmissionHeaderActionViewModel
@{
//这里我需要访问SubmissionID和EntityOrganizationID,并删除这些硬编码。
var SubmissionID=516;
var EntityOrganizationID=214;
Model.EntitySubmissionID=516;
Model.EntityOrganizationID=214;
}
@Hidden(“SubmissionHeaderID”,SubmissionHeaderID,new{data\u ng_model=“model.SubmissionHeaderID”})
@JsonDataSourceVariable(“securitygroupsusers”、“SecurityGroupsUsersAccessRight”、“实用工具”、Model.EntityOrganizationID.GetValueOrDefault())
var dropdownlist=$(“#commentrecipients”).data(“kendoDropDownList”);
dropdownlist.refresh();
提交意见| SubmissionID:@Model.SubmissionID | EntityOrganizationID:@Model.EntityOrganizationID
@Html.Label(“收件人”)
@隐藏(“SubmissionHeaderID”,SubmissionHeaderID)
@Html.Label(“注释(将通过电子邮件发送给收件人)”)
@TextArea(“Comment”,new{@class=“form control dirtyignore”,rows=“2”,maxlength=“1000”,data_ng_model=“model.Comment”})
@如果(Model.SubmissionID!=0)
{
@Html.submissionReassignActions(Model.SubmissionID)@*Submission.SubmissionReassignment\u SubmissionReassignment*@
}
@使用(Html.RequiredScripts())
{
@Html.RequirePageScript(“提交”、“ListSubmissionDashboard”)
@RequirePageScript(“共享”、“网格个性化”)
@Html.RequirePageScript(“共享”、“提交头操作”)
}
我不完全理解您的代码,但您是否可以使用$emit或$broadcast将数据从一个控制器发送到另一个控制器?
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
});
}
}]);
@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")
}