C# 在C中回发后下拉值发生变化#
我有这段代码,我不明白为什么Extended永远都不是真的。当用户在下拉列表中选择“扩展”时,会发生一些事情。但是,当页面刷新更新时,下拉列表返回默认值CURRENT。有没有办法确保即使在页面刷新后,或者如果我从另一个页面返回,它仍保持在扩展状态?以下是在页面上执行特定任务后的查询字符串: /Queue/Queue.aspx?DrawingRequestId=376333&doQuerySearch=true&start=&end=&Ind=&Model=&status=Open&manager=&source=&assignee=&title=&features=&parts=&pas=&customer=&number=&project=&startIndex=1&endIndex=10&pageSize=10&total=202&date=EXTENDED&qsEnd=C# 在C中回发后下拉值发生变化#,c#,asp.net,webforms,C#,Asp.net,Webforms,我有这段代码,我不明白为什么Extended永远都不是真的。当用户在下拉列表中选择“扩展”时,会发生一些事情。但是,当页面刷新更新时,下拉列表返回默认值CURRENT。有没有办法确保即使在页面刷新后,或者如果我从另一个页面返回,它仍保持在扩展状态?以下是在页面上执行特定任务后的查询字符串: /Queue/Queue.aspx?DrawingRequestId=376333&doQuerySearch=true&start=&end=&Ind=&Model=&status=Open&manager
public bool Extended
{
get
{
if (Request.QueryString["&date"] == "EXTENDED")
{
return true;
}
return false;
}
}
protected void Page_Load(object sender, EventArgs e)
{
// Tell this page to use the wide setting on the master page
Master.UseWideSetting = true;
//Check to see if the user has permission
CheckPageForPermission("Queue");
base.SetActiveMenuItem(3);
ucPager.PageChange += new EDDC.Controls.Pager.EmptyEventHandler(ucPager_PageChange);
GenerateSearchQueryString();
List<CAT.EDDC.Data.UserRole> roles = Common.GetCurrentUserRoles();
foreach (CAT.EDDC.Data.UserRole r in roles)
{
if (r.AddOnRole == "PUB")
{
bool exists = false;
foreach (ListItem item in drpDateView.Items)
{
if (item.Value == "Extended")
{
exists = true;
}
break;
if (!exists)
{
// Add the item if permissions are correct
drpDateView.Items.Insert(1, new ListItem("Extended", "EXTENDED"));
}
}
if (Extended)
{
LoadQueue("EXTENDED");
}
else
{
LoadQueue("CURRENT");
}
}
}
if (!Page.IsPostBack)
{
if (AutoSearch)
{
if (DrawingId != null)
{
AutoSearchPopulate();
}
/*------------------------------------------------------
* Bug 3209 Drawing Number Included
*
* Resolution - Removed the Call to Populate the search.
* Also removed the Property for Drawing Number
* -----------------------------------------------------*/
qsSearch.Collapsed = false;
lblUsername.Text = Common.GetCurrentUserRec().ScreenName;
popupWindow.UpdatePanelToRefresh = upnlRequest.ClientID;
ResetPager();
//List<CAT.EDDC.Data.UserRole> roles = Common.GetCurrentUserRoles();
drpDateView.Items.Insert(1, new ListItem("Extended", "Extended"));
drpDateView.SelectedValue = "EXTENDED";
LoadQueue("Extended");
}
else if (RefreshSearch)
{
LoadSearchParameters();
LoadQueueFromQueryString();
}
else
{
lblUsername.Text = Common.GetCurrentUserRec().ScreenName;
popupWindow.UpdatePanelToRefresh = upnlRequest.ClientID;
ResetPager();
//List<CAT.EDDC.Data.UserRole> roles = Common.GetCurrentUserRoles();
foreach (CAT.EDDC.Data.UserRole d in roles)
{
if (d.AddOnRole == "PUB")
{
drpDateView.Items.Insert(1, new ListItem("Extended", "EXTENDED"));
}
}
if (Extended)
{
LoadQueue("EXTENDED");
}
else
{
LoadQueue("CURRENT");
}
}
}
}
我的for循环在错误的位置断开了。这似乎解决了我的问题。我还扩展了添加到列表的功能,因此我删除了else语句,如果它不是回发,则添加它 受保护的无效页面加载(对象发送方、事件参数e) { //告诉此页面使用母版页上的宽设置 Master.UseWideSetting=true
//Check to see if the user has permission
CheckPageForPermission("Queue");
base.SetActiveMenuItem(3);
ucPager.PageChange += new EDDC.Controls.Pager.EmptyEventHandler(ucPager_PageChange);
GenerateSearchQueryString();
List<CAT.EDDC.Data.UserRole> roles = Common.GetCurrentUserRoles();
foreach (CAT.EDDC.Data.UserRole r in roles)
{
if (r.AddOnRole == "PUB")
{
bool exists = false;
foreach (ListItem item in drpDateView.Items)
{
if (item.Value == "Extended")
{
exists = true;
break;
}
}
if (!exists)
{
// Add the item if permissions are correct
drpDateView.Items.Insert(1, new ListItem("Extended", "EXTENDED"));
}
if (Extended)
{
LoadQueue("EXTENDED");
}
else
{
LoadQueue("CURRENT");
}
}
}
if (!Page.IsPostBack)
{
if (AutoSearch)
{
if (DrawingId != null)
{
AutoSearchPopulate();
}
/*------------------------------------------------------
* Bug 3209 Drawing Number Included
*
* Resolution - Removed the Call to Populate the search.
* Also removed the Property for Drawing Number
* -----------------------------------------------------*/
qsSearch.Collapsed = false;
lblUsername.Text = Common.GetCurrentUserRec().ScreenName;
popupWindow.UpdatePanelToRefresh = upnlRequest.ClientID;
ResetPager();
//List<CAT.EDDC.Data.UserRole> roles = Common.GetCurrentUserRoles();
if (!drpDateView.Items.Contains(new ListItem("Extended", "Extended")))
drpDateView.Items.Insert(1, new ListItem("Extended", "Extended"));
drpDateView.SelectedValue = "EXTENDED";
LoadQueue("Extended");
}
else if (RefreshSearch)
{
LoadSearchParameters();
LoadQueueFromQueryString();
}
else
{
lblUsername.Text = Common.GetCurrentUserRec().ScreenName;
popupWindow.UpdatePanelToRefresh = upnlRequest.ClientID;
ResetPager();
//List<CAT.EDDC.Data.UserRole> roles = Common.GetCurrentUserRoles();
if (Extended)
{
LoadQueue("EXTENDED");
}
else
{
LoadQueue("CURRENT");
}
}
}
}
//检查用户是否有权限
CheckPageForPermission(“队列”);
base.SetActiveMenuItem(3);
ucPager.PageChange+=新的EDDC.Controls.Pager.EmptyEventHandler(ucPager\U PageChange);
GenerateSearchQueryString();
List roles=Common.GetCurrentUserRoles();
foreach(角色中的CAT.EDDC.Data.UserRole r)
{
if(r.AddOnRole==“发布”)
{
bool exists=false;
foreach(drpDateView.Items中的ListItem项)
{
如果(item.Value==“扩展”)
{
存在=真;
打破
}
}
如果(!存在)
{
//如果权限正确,则添加项目
插入(1,新列表项(“扩展”、“扩展”);
}
如果(扩展)
{
加载队列(“扩展”);
}
其他的
{
加载队列(“当前”);
}
}
}
如果(!Page.IsPostBack)
{
如果(自动搜索)
{
如果(DrawingId!=null)
{
自动搜索填充();
}
/*------------------------------------------------------
*包含错误3209图纸编号
*
*解决方案-已删除填充搜索的调用。
*还删除了图纸编号的属性
* -----------------------------------------------------*/
qsSearch.Collapsed=false;
lblUsername.Text=Common.GetCurrentUserRec().ScreenName;
popupWindow.UpdatePanelToRefresh=upnlRequest.ClientID;
重置寻呼机();
//List roles=Common.GetCurrentUserRoles();
如果(!drpDateView.Items.Contains(新列表项(“扩展”、“扩展”)))
插入(1,新列表项(“扩展”、“扩展”);
drpDateView.SelectedValue=“扩展”;
加载队列(“扩展”);
}
else if(刷新搜索)
{
LoadSearchParameters();
LoadQueueFromQueryString();
}
其他的
{
lblUsername.Text=Common.GetCurrentUserRec().ScreenName;
popupWindow.UpdatePanelToRefresh=upnlRequest.ClientID;
重置寻呼机();
//List roles=Common.GetCurrentUserRoles();
如果(扩展)
{
加载队列(“扩展”);
}
其他的
{
加载队列(“当前”);
}
}
}
}
LoadQueue在哪里?它是做什么的?@wizpert我已经添加了dateview的功能。仍然不确定它是做什么的,加上首先将if(Request.QueryString[“&date”]==“EXTENDED”)更改为if(Request.QueryString[“date”]==“EXTENDED”),您不需要在查询字符串中包含(&)。我发现了除&date之外的错误。我在错误的地方破发了。循环在遍历整个列表之前就已关闭。
//Check to see if the user has permission
CheckPageForPermission("Queue");
base.SetActiveMenuItem(3);
ucPager.PageChange += new EDDC.Controls.Pager.EmptyEventHandler(ucPager_PageChange);
GenerateSearchQueryString();
List<CAT.EDDC.Data.UserRole> roles = Common.GetCurrentUserRoles();
foreach (CAT.EDDC.Data.UserRole r in roles)
{
if (r.AddOnRole == "PUB")
{
bool exists = false;
foreach (ListItem item in drpDateView.Items)
{
if (item.Value == "Extended")
{
exists = true;
break;
}
}
if (!exists)
{
// Add the item if permissions are correct
drpDateView.Items.Insert(1, new ListItem("Extended", "EXTENDED"));
}
if (Extended)
{
LoadQueue("EXTENDED");
}
else
{
LoadQueue("CURRENT");
}
}
}
if (!Page.IsPostBack)
{
if (AutoSearch)
{
if (DrawingId != null)
{
AutoSearchPopulate();
}
/*------------------------------------------------------
* Bug 3209 Drawing Number Included
*
* Resolution - Removed the Call to Populate the search.
* Also removed the Property for Drawing Number
* -----------------------------------------------------*/
qsSearch.Collapsed = false;
lblUsername.Text = Common.GetCurrentUserRec().ScreenName;
popupWindow.UpdatePanelToRefresh = upnlRequest.ClientID;
ResetPager();
//List<CAT.EDDC.Data.UserRole> roles = Common.GetCurrentUserRoles();
if (!drpDateView.Items.Contains(new ListItem("Extended", "Extended")))
drpDateView.Items.Insert(1, new ListItem("Extended", "Extended"));
drpDateView.SelectedValue = "EXTENDED";
LoadQueue("Extended");
}
else if (RefreshSearch)
{
LoadSearchParameters();
LoadQueueFromQueryString();
}
else
{
lblUsername.Text = Common.GetCurrentUserRec().ScreenName;
popupWindow.UpdatePanelToRefresh = upnlRequest.ClientID;
ResetPager();
//List<CAT.EDDC.Data.UserRole> roles = Common.GetCurrentUserRoles();
if (Extended)
{
LoadQueue("EXTENDED");
}
else
{
LoadQueue("CURRENT");
}
}
}
}