C# 正在尝试在PageLoad中的UpdatePanel内设置视图
我在UpdatePanel和MultiView的组合中遇到了问题 我的顶层有一个UpdatePanel,里面有一堆ImageButton——它们的点击事件设置了Multiview上的视图,每个视图都有一个带有我的绑定的UpdatePanel 一切都很好——但我正试图通过Querystring设置视图,以便将用户发送到特定视图 当我尝试从PageLoad设置视图时,它会显示“对象不存在”。所以我想我应该在Page_LoadComplete中尝试一下,效果很好,但是我的ImageButton无法像最初那样切换视图 我错过了什么!谢谢C# 正在尝试在PageLoad中的UpdatePanel内设置视图,c#,asp.net,updatepanel,multiview,C#,Asp.net,Updatepanel,Multiview,我在UpdatePanel和MultiView的组合中遇到了问题 我的顶层有一个UpdatePanel,里面有一堆ImageButton——它们的点击事件设置了Multiview上的视图,每个视图都有一个带有我的绑定的UpdatePanel 一切都很好——但我正试图通过Querystring设置视图,以便将用户发送到特定视图 当我尝试从PageLoad设置视图时,它会显示“对象不存在”。所以我想我应该在Page_LoadComplete中尝试一下,效果很好,但是我的ImageButton无法像最
void Page_LoadComplete()
{
tabSelect= Request.QueryString["tab"];
if (tabSelect.Contains("Community"))
{
MultiView1.SetActiveView(Community);
btnCommunity.ImageUrl = "images/tabCommunity_on.png";
}
}
<asp:ScriptManager id="ScriptManager1" runat="server"/>
<asp:UpdatePanel id="UpdatePanel1" childrenastriggers="true" updatemode="Always" runat="server">
<ContentTemplate>
<asp:ImageButton id="btnCommunity" onclick="" runat="server">
<asp:MultiView ID="MultiView1" ActiveViewIndex="0" runat="server">
<asp:View ID="Community" runat="server">
<asp:UpdatePanel id="UpdatePanel1" childrenastriggers="true" updatemode="Always" runat="server">
//data controls in here
</asp:UpdatePanel>
</asp:View>
<asp:View id="tabFriends" runat="server">
<asp:UpdatePanel id="UpdatePanel2" childrenastriggers="true" updatemode="Always" runat="server">
//data controls in here
</asp:UpdatePanel>
</asp:View>
</asp:MultiView>
</ContentTemplate>
</asp:UpdatePanel>
void页面_LoadComplete()
{
tabSelect=Request.QueryString[“tab”];
if(tabSelect.Contains(“社区”))
{
MultiView1.SetActiveView(社区);
btnCommunity.ImageUrl=“images/tabCommunity_on.png”;
}
}
//这里有数据控件
//这里有数据控件
更新:在进一步详细查看您的代码后,我相信您已经解决了问题
我对代码进行了以下调整:
tabSelect
设置为空字符串,从而避免下一行出现空对象引用异常void Page_LoadComplete()
{
string tabSelect = Request.QueryString["tab"] ?? string.Empty;
if (tabSelect.Contains("Community"))
{
MultiView1.SetActiveView(Community);
btnCommunity.ImageUrl = "~/images/tabCommunity_on.png";
}
}
更新:在进一步详细查看了您的代码之后,我相信您已经解决了问题 我对代码进行了以下调整:
tabSelect
设置为空字符串,从而避免下一行出现空对象引用异常void Page_LoadComplete()
{
string tabSelect = Request.QueryString["tab"] ?? string.Empty;
if (tabSelect.Contains("Community"))
{
MultiView1.SetActiveView(Community);
btnCommunity.ImageUrl = "~/images/tabCommunity_on.png";
}
}
页面加载时也会发生同样的情况——它表示我正在设置的视图为空。但是对象在那里,我可以在调试器中看到它-它只是空的。在那里发生的事情和页面加载一样-它说我正在设置的视图是空的。但是对象在那里,我可以在调试器中看到它-它只是空的。