名字“xxx”;在将asp字面名称作为参数发送给另一个类时,在当前上下文中不存在
本文关键字:另一个 不存在 上下文 参数 在将 xxx asp 名字 | 更新日期: 2023-09-27 18:08:09
我试图弄清楚为什么当我试图将asp:Literal的名称作为参数发送给另一个类中的函数时,我会得到此错误。
Certificate.aspx.cs:
login.DisplayLoginError(Company.Web.STSLogin.Common.Utils.LocalizeUtils.GetTranslation("login.unsuccessful", "Host", false), "attention", litMessageCertificate);
. aspx:
<asp:Literal ID="litMessageCertificate" runat="server"></asp:Literal>
Login.aspx.cs:
public void DisplayLoginError(string text, string messageType, Literal literal)
{
ClearTextBoxes(); //attention
literal.Text = string.Format("<div id='"customErrorPanel'" style='"display : none'" class='"message {1}'" >{0}</div>", text, messageType);
string javaScriptFunction = "$(function () { $('#customErrorPanel').slideDown('fast'); });";
ClientScript.RegisterStartupScript(this.GetType(), "errorScript", javaScriptFunction, true);
}
我得到错误:名称"litMessageCertificate"在当前上下文中不存在。
任何帮助都是非常感谢的
您是否错过了Certificate.aspx中的文字控件(ID="litMessageCertificate") ?您正在尝试引用不存在的对象。
这两个页面不知道彼此,所以您不能使用来自Certificate的元素。
看起来您正在尝试在为仅显示证书错误消息而创建的文字控件中显示特定的证书错误消息。如果在Login中生成通用错误消息。aspx不是一个选项,您可以将错误类型作为字符串(甚至是整数)传递给Login。而不是试图在不同的aspx页面之间传递控制。之类的……
(certificate.aspx.cs)login.DisplayLoginError(Company.Web.STSLogin.Common.Utils.LocalizeUtils.GetTranslation("login.unsuccessful", "Host", false), "attention", "ERROR_CERTIFICATE");
(login.aspx.cs)public void DisplayLoginError(string text, string messageType, string errorType)
{
ClearTextBoxes(); //attention
if(errorType == "ERROR_CERTIFICATE"){
litMessageCertificate.Text = string.Format("<div id='"customErrorPanel'"style='"display : none'" class='"message {1}'" >{0}</div>", text, messageType);
string javaScriptFunction = "$(function () {$('#customErrorPanel').slideDown('fast'); });";
ClientScript.RegisterStartupScript(this.GetType(), "errorScript",JavaScriptFunction, true);
}
else{//display a different error message in a different literal control}
}