gpt4 book ai didi

c# - 使用 Razor 在 asp.net 中同一索引的不同部分 View 之间共享数据

转载 作者:太空宇宙 更新时间:2023-11-03 10:46:44 25 4
gpt4 key购买 nike

我有具有以下结构的 Razor View :

enter image description here

部分 View A 正在过滤部分 View B。部分 View B 正在过滤部分 View C。部分 View D 正在过滤部分 View E。

部分 View C 然后打开带有表单的 jQuery UI 对话框,以在部分 View E 中显示的表中输入数据。

我的问题是如何将数据从D部分发送到C部分?

View A、B 和 C 正在访问 Controller A 和 View 模型 X, View D 和 E 正在访问 Controller B 和 View 模型 Y。 View A 和 View D 在第一次加载页面时同时加载,并且它们具有固定值。

部分 View A、B 和 C 也是共享 View 。

这是 index.cshtml 的代码:

@model WebApplication3.ViewModels.projekatViewModel
@using PagedList.Mvc;

@{
ViewBag.Title = "Rad sa projektima";
}

<h2>Rad sa projektima</h2>
<div id="dialog-edit"></div>
<div id="mainWrap">
<div id="mainLeft">
<div id="pKNormativa">
<div id="KnjigeNormativa">@Html.Partial("A", Model, null)</div>
</div>
<div id="pGrupe">
<div id="GrupeRadova"> @Html.Partial("B", Model, null)</div>
</div>
</div>


<div id="mainRight">
<div id="pPozicije">
<div id="Pozicije"> @{ Html.RenderPartial("C", Model.pozicije, null); }</div>
</div>
</div>
</div>

<div id="projectWrap">
<div id="projects">
@Html.Partial("D")
</div>


<div class="CSSTableGenerator" id="Projekat">
@Html.Partial("E", Model.projekti)
</div>

</div>

部分 View 内部没有任何特殊内容,只是一个 foreach 渲染 <table>显示数据和一个 ajax.actionlink 来调用 Controller 并在下一个 View 中按顺序显示数据...

有人可以帮我解决这个问题吗?

最佳答案

您可以使用 HttpContext.Items 在 View 之间共享数据。

@{
this.ViewContext.HttpContext.Items["Stuff"] = "some-data";
}

此数据对单个 HTTP 请求有效。您还可以在父 View 和局部 View 之间共享数据。

更多信息:

https://msdn.microsoft.com/en-us/library/system.web.httpcontext.items(v=vs.110).aspx

When can we use HttpContext.Current.Items to stores data in ASP.NET?

关于c# - 使用 Razor 在 asp.net 中同一索引的不同部分 View 之间共享数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23089352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com