如何解决从派生类获取基类保护属性
如果已经存在类似问题,请道歉。但是我尝试了很多,并没有找到任何方法。在下面的代码中,ddlProgram 始终为空。 P_AccountAdd 是一个 .aspx webform 页面,它继承 AddPage 和 AddPage 继承 BasePage 和 BasePage 继承 System.Web.UI.Page。
public class P_AccountAddValidation_KEFactory : P_AccountAdd,IP_AccountAddValidationPerCountryFactory
{
public Message AccountAddValidationMsg(Message msg)
{
var ddlProgram = base.FindControl("ddlP_ProgramId") as DropDownList; // ddlProgram always null
}
}
P_AccountAdd 页面代码如下
public partial class P_AccountAdd : AddPage
{
private new Message Validate()
{
Message msg = new Message();
msg.Type = MessageType.Information;
msg.Msg = "Record saved successfully.";
msg = _PLoanAccountAddValidationPerCountryFactory.LoanAccountAddValidationMsg(msg);
msg = _PLoanAccountAddCommonValidation.LoanAccountAddCommonValidationMsg(msg);
}
protected override Message Save()
{
DateTime start = DateTime.Now;
Message msg = this.Validate();
}
}
依赖注入
builder.RegisterType<P_AccountAddValidation_KEFactory>().As<IP_AccountAddValidationPerCountryFactory>().InstancePerRequest();
P_AccountAdd.aspx 如下图
<%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="True" CodeBehind="P_LoanAccountAdd.aspx.cs" EnableViewState="true"
Inherits="P_LoanAccountAdd" Title="" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<table border="0" cellpadding="1" cellspacing="1">
<tr>
<td align="right">
Program:
</td>
<td>
<asp:DropDownList ID="ddlP_ProgramId" runat="server" DataTextField="ProgramName"
DataValueField="P_ProgramId" AutoPostBack="true" OnSelectedIndexChanged="ddlP_ProgramId_SelectedIndexChanged">
</asp:DropDownList>
</td>
<td align="right">
Duration:
</td>
<td>
<asp:DropDownList ID="ddlP_Duration" runat="server" DataTextField="P_DurationView" DataValueField="P_Duration"
AutoPostBack="true" OnSelectedIndexChanged="ddlP_Duration_SelectedIndexChanged">
</asp:DropDownList><asp:CompareValidator ID="cvP_Duration" runat="server" Display="Dynamic" ValueToCompare="-1"
Operator="NotEqual" ControlToValidate="ddlP_Duration" ErrorMessage="*" ToolTip="Required">
</asp:CompareValidator>
</td>
</tr>
</table>
</asp:Content>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。