我在母版页以及子页面中有一些标签。所有这些标签中的值来自单个数据库查询。我想运行此查询一次,以便填充主和子项中的标签。有办法吗?
这是我问题的最简化版本
以下是我在Master页面的page_load中初始化公共属性的方法(我使用 viewstate ,以便其他方法也可以使用这些属性)
protected void Page_Load(object sender, EventArgs e)
{
Meeting = bal.GetMeetingByID(MeetingID)[0];//DB QUERY
}
页面加载中的属性如下
public Meeting1 Meeting
{
set
{
ViewState["Meeting"] = value;
}
get
{
if (ViewState["Meeting"] != null)
return (Meeting1)ViewState["Meeting"];
else
return null;
}
} private int meetingID = -1;
public int MeetingID
{
get
{
if (meetingID == -1)
try
{
meetingID = int.Parse(Request.QueryString["meetingID"]);
}
catch (Exception)
{
Response.Redirect("~/Main.aspx");
}
return meetingID;
}
}
现在在子页面中我有
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
return;
DataBindControls();
}
private void DataBindControls()
{
tbMeetingTitle.DataBind();
}
Meeting.aspx页面就像这样
<tr>
<td>Meeting Title</td>
<td colspan="3">
<asp:TextBox ID="tbMeetingTitle" runat="server" Width="714px" Text='<%# GetData("MeetingTitle") %>' AutoPostBack="true" ></asp:TextBox></td>
</tr>
我希望现在我的问题很明确。
答案 0 :(得分:1)
不,您无法更改订单,但有一种方法可以在子页面中指定强类型模型,或者您可以在子页面中执行强制转换以引用母版页的任何公共属性。
答案 1 :(得分:0)
不,不能做到。但是在旁注中,你的问题并不清楚。据我所知,您面临一些性能问题。我建议您查看您的应用程序设计。应用捕获等实践。当我在使用asp.net应用程序时,以下链接有所帮助
http://www.codeproject.com/Articles/23306/ASP-NET-Performance-and-Scalability-Secrets