繁体   English   中英

使用参数加载局部视图

[英]Load partial view with parameters

我正在尝试在“ Bootstrap模型”中加载带有Id参数的局部视图

我无法将参数传递给控制器

像这样:

<td>
    <button class="btnShowModal btn btn-primary btnWhiteSpace " type="button">
        Details
        <i class="fas fa-info-circle" aria-hidden="true"></i>
    </button>
</td>

<div class="modal fade" tabindex="-1" id="loginModal"
     data-keyboard="false" data-backdrop="static">
    <div class="modal-dialog modal-sm ">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">
                    <i class="fas fa-window-close"></i>
                </button>
                <h4 class="modal-title"> Title</h4>
            </div>
            <div class="modal-body ">
                <partial name=("bid", "details" asp-route-id="item.QuettaReqId" ) />
            </div>
        </div>
    </div>
</div>

我得到的错误是:

InvalidOperationException:未找到部分视图'('。搜索了以下位置:
查看/邮件/(CSHTML
/Views/Shared/(.cshtml
/Pages/Shared/(.cshtml

看起来像路由,但我认为该参数的设置也未如预期那样通过。

尝试这个:

@{ Html.RenderAction("YourActionName", "ControllerName", new { parameterName = parameterValue });}

因此,在您的情况下如下所示:

<div class="modal-body ">
  @{ Html.RenderAction("details", "bid", new { id= item.QuettaReqId});}
</div>

现在,如果您需要特定于ASP.NET Core的解决方案,则可以使用比Partial View快得多的View Components

为了将item.QuettaReqId从主视图传递到局部视图,您需要指定正确的局部视图名称和模型。

<div>
     <partial name="_Details" model="10"/>
     @await Html.PartialAsync("_Details", 5)
</div>

对于_Details ,您需要定义@model来接受参数。

@model int

This is Detail View with Id @Model

注意_Details是部分视图名称。

有关model更多信息,请检查模型

由于asp.net引擎找不到视图而导致的错误

你可以换成

@Url.Action("YourActionMethod", "Controller", new { param = "1", param2= "2" })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM