私の Web フォームは というクラスを継承します。MyPageMain
このクラスは継承System.Web.UI.Page
され、フォルダーに配置されApp_Code
ます。
このMyPageMain
クラスでは、例外 (エラー メッセージ) を記録して出力するために、次のメソッドを作成しました。
public string Error(Exception pException, string pFriendlyMessage)
{
using (BusError erro = new BusError())
{
int? errorId = //HERE Routine to log the error;
StringWriter stringWriter = new StringWriter();
using (HtmlTextWriter writer = new HtmlTextWriter(stringWriter))
{
writer.AddAttribute(HtmlTextWriterAttribute.Class, "erroMain");
writer.RenderBeginTag(HtmlTextWriterTag.Div); //<div>
writer.RenderBeginTag(HtmlTextWriterTag.P); //<p>
writer.Write(pFriendlyMessage);
writer.RenderEndTag(); // </p>
writer.RenderBeginTag(HtmlTextWriterTag.Small);
writer.Write("Event tracker:");
writer.Write(errorId);
writer.RenderEndTag();
writer.RenderEndTag(); // </div>
Console.WriteLine(stringWriter.ToString());
}
}
}
次に、ページに例外がある場合は、次のように呼び出します。
Protected void btnLoad_Click(object sender, EventArgs e)
{
LoadData();
}
private void LoadData()
{
try
{
//Loading some data here.
}
catch (Exception ex)
{
Error(ex, "Unexpected error trying to load data.");
}
}
これは問題ありませんが、機能しません...理由の1つは、すべてがUpdatePanel内にあるという事実である可能性があると思います。これを機能させる方法について何か提案はありますか?
これはConsole.Writeline
私がやろうとしていることに適していますか? これは UpdatePanels で機能しますか?
すでに試してみましたがResponse.Write(...)
、うまくいきます。しかし、内部ではありませんUpdatePanel