快速但愚蠢的问题。那种级联一点点。如果我在aspx页面上创建一个变量,它将可用于我的aspx部分呈现的ascx。另外,aspx页面如何处理这些变量?我知道一个事实,这些变量的持续时间比TempData或ViewData变量要长很多。这是我想知道的一个小例子......
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h3><% Response.Write(((ViewData["MESSAGE"] == null) ? "Edit Encounter Information" : ViewData["MESSAGE"] ));
int encounter = int.Parse((string)TempData["ENCOUNTID"]);
int PopPatId = int.Parse((string)TempData["POPPATID"]);
int PatID = int.Parse((string)TempData["PATID"]);
int population = (int)TempData["POPULATIONID"];
string templates1 = (string)TempData["TEMPLATES"];
string MRN = ((TempData["MRN"] == null) ? "Add Patient":(string)TempData["MRN"]);
ViewData["TEMPLATES"] = templates1;
%>
</h3>
<div id="countdownDiv" style="display:none">
<p><font color="#990000"><b>Sorry, This Data has expired. Please Refresh The page.</b></font></p>
<%
Html.BeginForm("EditTemplate", "PatientACO", new { Template = PatID, popID = population, PopulationPatID = PopPatId, Enc = encounter });
TempData["TEMPLATES"] = templates1;
%><input type="submit" value="Refresh" id="test" /><%
Html.EndForm();%>
</div>
<% Html.RenderPartial("_EditTemplate"); %>
<%: Html.ActionLink("Back", "TemplateInfo", new { PopulationID = population, ActiveAll = "1" })%>
注意我已经创建了变量。他们会持续多久?我现在可以在下面调用的ascx页面中使用这些变量吗?
答案 0 :(得分:1)
这些变量只能在aspx页面的范围内使用。通过RenderPartial
或RenderAction
呈现的任何页面都需要定义自己要使用的变量集。如果您需要在aspx页面和ascx页面之间共享数据,那么您需要将模型或ViewData
传递到RenderPartial
视图并以这种方式访问数据。
答案 1 :(得分:0)
您还可以将模型传递给部分视图&lt;%:Partial(“PartialViewName”,Model)%&gt;