微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试从父对象中提取数据时,CascadingParameter 为空

如何解决尝试从父对象中提取数据时,CascadingParameter 为空

我正在开发一个按钮设置,它打开一个炫目的模式,允许用户输入处理请求的小时数和分钟数,以及添加评论。我开始使用 blazored.Modal nuget 包 [CascadingParameter] 用于关闭或提交模式中的数据。当我打开一个断点查看时,我发现

[CascadingParameter] blazoredModalinstance blazoredModal { get;放; }

当我尝试以父对象的形式传递数据时返回 NULL。我在下面附上了我的问题的代码。感谢您的帮助和提前回复

@using Logscan_Request.Shared
@using Logscan_Request.Pages.Modal
@using  Logscan_Request.Shared.Tabs

<div class="card-header" @onclick="Expand">
    <div class="row">
        <div class="col">
            <label><b>ORI:@RequestItem.ORI</b></label>
        </div>
        <div class="col">
            <label><b>Agency Name:@RequestItem.AGENCY_NAME</b></label>
        </div>
        <div class="col">
            <label><b>Requestor:@RequestItem.Request_LName,@RequestItem.Request_FName</b></label>
        </div>
        <div class="col">
            <label><b>Date Submitted:@RequestItem.AddWhen</b></label>
        </div>
        <div class="col">
            @if (RequestItem.Priority.Equals("Urgent"))
        {
            <label><b>Priority:
                       <span class="badge badge-danger">
                           <span class="oi oi-warning"></span> @RequestItem.Priority
                       </span>
                </b></label>
        }
        else
        {
        <label>
            <b>
                Priority:
                <span class="badge badge-success">
                    <span class="oi oi-bell"></span> @RequestItem.Priority
                </span>
            </b>
        </label>
        }
            
        </div>
        @if (RequestItem.Completed == 0)
        {
            <div class="col">
                <span class="badge badge-warning">
                    <span class="oi oi-plus"></span> New Logscan
                </span>
            </div>
        }
        else
        {
            <div class="col">
                <span class="badge badge-success">
                    <span class="oi oi-check"></span> Completed
                </span>
            </div>
        }
    </div>
</div>
<div class="card p-3 shadow @collapsed">
    <div class="card p-3 shadow">

        <div class="card-header bg-dark">
            <label class="text-white">Agency information</label>
        </div>
        <div class="card-body border-light">
            <div class="row">
                <div class="col">
                    <label>Agency Name: </label>
                    <p>@RequestItem.AGENCY_NAME</p>
                </div>
                <div class="col">
                    <label>ORI:</label>
                    <p>@RequestItem.ORI</p>
                </div>
                <div class="col">
                    <label>Address:</label>
                    <p>@RequestItem.ADDRESS</p>
                </div>
            </div>
        </div>
    </div>
    <br />
    <div class="card p-3 shadow">

        <div class="card-header bg-dark">
            <label class="text-white">Supervisor information</label>
        </div>
        <div class="card-body">
            <div class="row">
                @if (string.IsNullOrEmpty(RequestItem.Supervisor_FName) && string.IsNullOrEmpty(RequestItem.Supervisor_LName))
                {

                }
                else
                {
                    <div class="col">
                        <label>Name: </label>
                        <p>@RequestItem.Supervisor_LName,@RequestItem.Supervisor_FName</p>
                    </div>
                }
                <div class="col">
                    <label>Phone:</label>
                    <p>@RequestItem.Supervisor_Phone</p>
                </div>
                <div class="col">
                    <label>Cell Phone:</label>
                    <p>@RequestItem.Cell_Phone</p>
                </div>
                @if (String.IsNullOrEmpty(RequestItem.Fax_Number))
                {

                }
                else
                {
                    <div class="col">
                        <label>Fax:</label>
                        <p>@RequestItem.Fax_Number</p>
                    </div>
                }
            </div>
        </div>
    </div>
    <br />
    <div class="card p-3 shadow">
        <div class="card-header bg-dark">
            <label class="text-white">Requestor information</label>
        </div>
        <div class="card-body">
            <div class="row">
                <div class="col">
                    <label>Title:</label>
                    <p>@RequestItem.Request_Title</p>
                </div>
                <div class="col">
                    <label>Name:</label>
                    <p>@RequestItem.Request_LName,@RequestItem.Request_FName</p>
                </div>
                <div class="col">
                    <label>Email:</label>
                    <p>@RequestItem.Email</p>
                </div>
                <div class="col">
                    <label>Phone/Ext:</label>
                    @if (String.IsNullOrEmpty(RequestItem.Extension))
                    {
                        string NoExtension = RequestItem.Phone_number;
                        <p>@NoExtension</p>
                    }
                    else
                    {
                        string AddExtension = RequestItem.Phone_number + " / " + RequestItem.Extension;
                        <p>@AddExtension</p>

                    }
                </div>
            </div>
        </div>
    </div>
    <br />
    <div class="card p-3 shadow">
        <div class="card-header bg-dark">
            <label class="text-white">Logscan information</label>
        </div>
        <div class="card-body">
            <div class="row">
                <div class="col">
                    <label>Time to be searched:</label>
                    <p>@RequestItem.Timeframe_To_Be_Searched</p>
                </div>
                <div class="col">
                    <label>Request Reason:</label>
                    <p>@RequestItem.Request_Reason</p>
                </div>
                <div class="col">
                    <label>Request Type:</label>
                    <p>@RequestItem.SearchType</p>
                </div>
                <div class="col">
                    <label>Criteria:</label>
                    <p>@RequestItem.Criteria</p>
                </div>
            </div>
        </div>
    </div>
    <br />
    <div class="row">
        <div class="col-2 justify-content-start">
            <button class="btn btn-secondary" @onclick="OpenReportDialog">View Report</button>
            <button class="btn btn-secondary" @onclick="OpenAssignReport">Assign</button>
            <ViewReportDialog @ref="ViewReportDialog" OnPrint="Print" OnClose="CloseDialog" RequestedItem="RequestItem" />
            <PrintDialog @ref="PrintDialog" OnPrint="Print" OnClose="CloseDialog" />
        @if (clicked == true)
        {
            <CascadingValue Value="RequestItem">

                <Assign_Report inModel="RequestItem"></Assign_Report>
            </CascadingValue>

        }
            
        </div>
    </div>
</div>

页面代码

    using blazored.Modal.Services;
    using Logscan_Request.Pages.Modal;
    using LogscanRequest.Shared.Domain;
    using Microsoft.AspNetCore.Components;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    
    namespace Logscan_Request.Pages
    {
        public partial class LogscanRequestItem
        {
            [CascadingParameter] public IModalService Modal { get; set; }
            [Parameter] public LogscanRequestModel RequestItem { get; set; }
            public ViewReportDialog ViewReportDialog { get; set; }
            public PrintDialog PrintDialog { get; set; }
            public Assign_Report Assign_Report { get; set; } = new Assign_Report();
            protected string collapsed { get; set; } = "collapse";
            protected bool Expanded;
        protected void Expand()
        {
            if (!Expanded)
            {
                
                Expanded = true;
                collapsed = string.Empty;
            }
            else
            {
                Expanded = false;
                collapsed = "collapse";
            }
        }

        private void OpenReportDialog()
        {
            ViewReportDialog.Show();

        }
        async Task OpenAssignReport()
        {
            Assign_Report.Show();
           
        }

        private void CloseDialog()
        {
            StateHasChanged();

        }
        public void Print()
        {
            ViewReportDialog.Close();
            PrintDialog.Show();
            StateHasChanged();
        }
    }
}

隐藏的模态页面代码

using blazored.Modal;
using blazored.Modal.Services;
using LogscanRequest.Shared.Domain;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Forms;
using Microsoft.AspNetCore.Http;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace Logscan_Request.Pages.Modal
{
    public partial class Assign_Report
    {
        //[Inject] IHttpContextAccessor HttpContext { get; set; }
        [Parameter] public LogscanRequestModel requestMod { get; set; }
        [CascadingParameter] public IModalService Modal { get; set; }
        [CascadingParameter] blazoredModalinstance blazoredModal { get; set; }
        private EditContext EditContext;
        private bool ShowDialog { get; set; }


        async Task Close()
        {
            ShowDialog = false;
           
            StateHasChanged();
            await blazoredModal.CloseAsync(ModalResult.Ok(true));
        }
        async Task Cancel() => await blazoredModal.CancelAsync();
        protected override void OnInitialized()
        {
            ShowDialog = false;
            //EditContext = new EditContext(RequestMod);
            //RequestMod.ModifyBy = HttpContext.HttpContext.User.Identity.Name;
        }
        private async Task HandleValidSubmit()
        {
            

        }
        public void Show()
        {
            Modal.Show<Assign_Report>();

        }
    }
}

错误system.invalidOperationException:类型的对象 “Logscan_Request.Pages.Modal.Assign_Report”没有属性 匹配名称“Assign_Report”。在 Microsoft.AspNetCore.Components.Reflection.ComponentProperties.ThrowForUnkNownIncomingParameterName(类型 targettype,String parameterName) 在 Microsoft.AspNetCore.Components.Reflection.ComponentProperties.SetProperties(ParameterView& 参数,对象目标)在 Microsoft.AspNetCore.Components.ComponentBase.SetParametersAsync(ParameterView 参数)在 Microsoft.AspNetCore.Components.Rendering.ComponentState.SetDirectParameters(ParameterView 参数)在 Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.InitializeNewComponentFrame(DiffContext& diffContext,Int32 frameIndex) 在 Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.InitializeNewSubtree(DiffContext& diffContext,Int32 frameIndex) 在 Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.InsertNewFrame(DiffContext& diffContext,Int32 newFrameIndex) 在 Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.InsertNewFrame(DiffContext& diffContext,Int32 newFrameIndex) 在 Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.AppendDiffEntriesForRange(DiffContext& diffContext,Int32 oldStartIndex,Int32 oldEndindexExcl,Int32 newStartIndex,Int32 newEndindexExcl) 在 Microsoft.AspNetCore.Components.RenderTree.RenderTreeDiffBuilder.ComputeDiff(Renderer 渲染器,RenderBatchBuilder batchBuilder,Int32 componentId, ArrayRange1 oldTree,ArrayRange1 newTree) 在 Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder,RenderFragment renderFragment) 在 Microsoft.AspNetCore.Components.RenderTree.Renderer.RenderInExistingBatch(RenderQueueEntry renderQueueEntry) 在 Microsoft.AspNetCore.Components.RenderTree.Renderer.ProcessRenderQueue()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?