我的服务器控件需要通过这样的标记设置一些属性:
<cc:MyControl runat="server" Property="Required" />
当开发人员忘记添加属性时,我会抛出异常。这发生在公共财产的吸气剂中:
public string Property
{
get { return GetRequiredPropertyFromViewState["Property"]; }
set { ViewState["Property"] = value; }
}
在 YSOD 中,我得到一个源错误和堆栈跟踪。显示的源是我的自定义控件类的源:
Line 173: throw new ArgumentException(message);
我想将控件的标记显示为源错误。那可能吗?
我只知道WebForms页面解析器有时会在源错误中显示带有标记的解析错误。但这些实际上并不是例外。
编辑:我错了。可以使用HttpParseException引发解析错误。但是您已经指定了文件、源代码和行号。我不知道我是否可以从我的自定义控件中提供这些。我需要这三个,其中我不知道如何获得最后两个:
- virtualPath:我可以从 Page.Request.AppRelativeCurrentExecutionFilePath 获得
- 资源:
- 线: