[英]How to repair “Error Creating Control Request is not available in this context” in ASP.NET C#?
我有一个解决方案,我可以简单地向其中添加Web表单和元素(标签,文本框等),并且一切都可以正确显示。 但是,有些Web表单在表单上每个元素的设计视图上显示此错误。
我注意到显示此错误的Web窗体是继承自BasePage而不是System.Web.UI.Page的Web窗体。
例。
using System;
using System.Data;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections.Generic;
namespace Station.Payments
{
public partial class detailsPayment : BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
}
这是我的课程BasePage.cs
using System;
using System.Text;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections.Generic;
using Core;//Custom Library
namespace Station
{
public class BasePage : Page
{
protected override void OnInit(EventArgs e)
{
if (Request.IsAuthenticated)
{
base.OnInit(e);
}
else
{
Session.Abandon();
Response.Redirect("~/Login.aspx");
}
}
public UserLogin CurrentUser
{
get
{
//UserLogin is a class from Core
return (UserLogin)Session["User"];
}
set
{
Session["User"] = value;
}
}
protected StringBuilder DisableButton(object sender, bool isImage, bool blockAll)
{
StringBuilder disableButton = new StringBuilder();
disableButton.Append("if (typeof(Page_ClientValidate) == 'function') { ");
disableButton.Append("if (Page_ClientValidate() == false) { return false; }} ");
disableButton.Append("this.disabled = true;");
if (isImage)
{
disableButton.Append("this.value = 'PROCESSING...';");
disableButton.Append("document.getElementById('" + ((ImageButton)sender).ID + "').disabled = true;");
disableButton.Append("document.getElementById('" + ((ImageButton)sender).ID + "').src = '../images/saveInactive.png';");
disableButton.Append(this.Page.GetPostBackEventReference((ImageButton)sender));
}
else
{
disableButton.Append("document.getElementById('" + ((Button)sender).ID + "').disabled = true;");
disableButton.Append("document.getElementById('" + ((Button)sender).ID + "').value = 'CARGANDO...';");
disableButton.Append(this.Page.GetPostBackEventReference((Button)sender));
}
disableButton.Append(";");
return disableButton;
}
}
}
我尝试摆脱那里的一些命令,但是每次我重新构建解决方案时,在从BasePage继承的任何Web窗体上仍然会出现错误。
是否存在影响网络表单的内容?
我过去曾遇到过这种错误。 不确定是否有帮助。 我们在基本页面的OnInit
方法中有此方法:
if(Context != null && Context.Session != null && !Request.IsAuthenticated)
{
Request.Redirect("~/Login.aspx");
}
似乎Context != null && Context.Session != null
部分解决了该问题。 希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.