C# 带列表的LoadControl用户控件<;弦乐技巧>;
我需要将从广告查询生成的字符串列表加载到Web用户控件中,但它不起作用。当我点击查看按钮时,页面被刷新,没有其他内容。这是我的密码: Default.aspxC# 带列表的LoadControl用户控件<;弦乐技巧>;,c#,asp.net,C#,Asp.net,我需要将从广告查询生成的字符串列表加载到Web用户控件中,但它不起作用。当我点击查看按钮时,页面被刷新,没有其他内容。这是我的密码: Default.aspx if (e.CommandName == "View") { WindowsIdentity wi = new WindowsIdentity(item); foreach (IdentityReference group in wi.Groups) { try {
if (e.CommandName == "View")
{
WindowsIdentity wi = new WindowsIdentity(item);
foreach (IdentityReference group in wi.Groups)
{
try
{
result1.Add(group.Translate(typeof(NTAccount)).ToString());
result1.Sort();
}
catch (Exception ex)
{ }
}
View f2 = new View(result1);
Session["newResult"] = result1;
Page.LoadControl("~/View.ascx");
}
public List<string> NewResult
{
get
{
if (Session["NewResult"] == null)
{
Session["NewResult"] = new List<string>();
}
return (List<string>)Session["NewResult"];
}
set { Session["NewResult"] = value; }
}
if(e.CommandName==“查看”)
{
WindowsIdentity wi=新的WindowsIdentity(项目);
foreach(wi.Groups中的IdentityReference组)
{
尝试
{
结果1.Add(group.Translate(typeof(NTAccount)).ToString());
result1.Sort();
}
捕获(例外情况除外)
{ }
}
视图f2=新视图(结果1);
会话[“newResult”]=result1;
Page.LoadControl(“~/View.ascx”);
}
公共列表新结果
{
得到
{
if(会话[“NewResult”]==null)
{
会话[“NewResult”]=新列表();
}
返回(列表)会话[“NewResult”];
}
设置{Session[“NewResult”]=value;}
}
UserControl View.ascx
Namespace Rap.Web
{
public partial class View : System.Web.UI.UserControl
{
public View()
{}
public View(List<string> NewresultFromQuery)
{
NewresultFromQuery = (List<string>)Session["newResult"];//NullReference error
}
protected void Page_Load(object sender, EventArgs e)
{
//create tabs from List<strings>
}
}
}
Namespace Rap.Web
{
公共部分类视图:System.Web.UI.UserControl
{
公众观点()
{}
公共视图(列表NewresultFromQuery)
{
NewresultFromQuery=(列表)会话[“newResult”];//NullReference错误
}
受保护的无效页面加载(对象发送方、事件参数e)
{
//从列表创建选项卡
}
}
}
View.ascx
Namespace Rap.Web
{
public partial class View : System.Web.UI.UserControl
{
public View()
{}
public View(List<string> NewresultFromQuery)
{
NewresultFromQuery = (List<string>)Session["newResult"];//NullReference error
}
protected void Page_Load(object sender, EventArgs e)
{
//create tabs from List<strings>
}
}
}
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="View.ascx.cs" Inherits="Rap.Web.View" %>
<ajax:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"
</ajax:ToolkitScriptManager>
<ajax:TabContainer ID="TabContainer1" runat="server" ActiveTabIndex="1"
Width="1016px">
</ajax:TabContainer>
MyUserApp.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MyUserApp.aspx.cs" Inherits="Rap.Web.MyUserApp" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajax" %>
<%@ Reference Control="View.ascx" %>
如果希望数据在回发之间保持不变,则需要将列表存储在会话中
因此,无论何时从列表中添加或删除数据,都可以从会话NewresultsFromQuery=(list)会话[“newResult”]中获取当前列表代码>
然后,当您更新了NewresultsFromQuery
后,将其放回会话中
Session[“newResult”]=NewresultsFromQuery
如果希望数据在回发之间保持不变,则需要将列表存储在会话中
因此,无论何时从列表中添加或删除数据,都可以从会话NewresultsFromQuery=(list)会话[“newResult”]中获取当前列表代码>
然后,当您更新了NewresultsFromQuery
后,将其放回会话中
Session[“newResult”]=NewresultsFromQuery
请检查代码中的更改,现在我在NewresultsFromQuery=(List)Session[“newResult”]下得到NullReference错误;您试图在会话中包含值之前访问该会话。如果在访问会话之前不确定会话中是否有值,则最好进行空检查。如果(Session[“newResult”]!=null){//do stuff}现在我的代码工作得很好,我可以看到会话保留了我的列表,但是用户控件没有加载!有什么想法吗?您必须将用户控件添加到实际页面。检查以下链接:请检查代码中的更改,现在我在NewresultsFromQuery=(列表)会话[“newResult”]下得到NullReference错误;您试图在会话中包含值之前访问该会话。如果在访问会话之前不确定会话中是否有值,则最好进行空检查。如果(Session[“newResult”]!=null){//do stuff}现在我的代码工作得很好,我可以看到会话保留了我的列表,但是用户控件没有加载!有什么想法吗?您必须将用户控件添加到实际页面。检查以下链接:请检查代码中的更改,现在我在NewresultsFromQuery=(列表)会话[“newResult”]下得到NullReference错误;您试图在会话中包含值之前访问该会话。如果在访问会话之前不确定会话中是否有值,则最好进行空检查。如果(Session[“newResult”]!=null){//do stuff}现在我的代码工作得很好,我可以看到会话保留了我的列表,但是用户控件没有加载!有什么想法吗?您必须将用户控件添加到实际页面。检查以下链接:您可以尝试调试您可以尝试调试您可以尝试调试