>source

login.cs 파일에 html 컨트롤을 동적으로 추가하여 하이브리드 컨트롤을 만들고 있습니다.

code로그인.cs

namespace WebApplication6
{
    public class LoginStandards: CompositeControl
    {
        private TextBox txtusername;
        private TextBox txtpassword;
    public string UserName
    {
        get
        {
            EnsureChildControls();
            return txtusername.Text;
        }
        set
        {
            EnsureChildControls();
            txtpassword.Text= value;
        }
    }
    public string Password
    {
        get
        {
            EnsureChildControls();
            return txtpassword.Text;
        }
        set
        {
            EnsureChildControls();
            txtpassword.Text= value;
        }
    }
    protected override void CreateChildControls()
    {
        txtusername= new TextBox();
        txtusername.ID= "txtusername";
        this.Controls.Add(txtusername);
        txtpassword= new TextBox();
        txtpassword.ID= "txtPassword";
        txtpassword.TextMode= TextBoxMode.Password;
        this.Controls.Add(txtpassword);
    }
    protected override void RenderContents(HtmlTextWriter writer)
    {
        writer.AddStyleAttribute("float", "left");
        writer.RenderBeginTag(HtmlTextWriterTag.Div);
        writer.AddStyleAttribute(HtmlTextWriterStyle.Padding, "3px");
        writer.RenderBeginTag(HtmlTextWriterTag.Div);
        writer.AddAttribute(HtmlTextWriterAttribute.For, txtusername.ClientID);
        writer.RenderBeginTag(HtmlTextWriterTag.Label);
        writer.Write("User Name:");
        writer.RenderEndTag();
        writer.RenderEndTag();
        writer.AddStyleAttribute(HtmlTextWriterStyle.Padding, "3px");
        writer.RenderBeginTag(HtmlTextWriterTag.Div);
        writer.AddAttribute(HtmlTextWriterAttribute.For, txtpassword.ClientID);
        writer.RenderBeginTag(HtmlTextWriterTag.Label);
        writer.Write("Password:");
        writer.RenderEndTag();
        writer.RenderEndTag();
        writer.RenderEndTag();
        writer.AddStyleAttribute("float", "left");
        writer.RenderBeginTag(HtmlTextWriterTag.Div);
        writer.AddStyleAttribute(HtmlTextWriterStyle.Padding, "3px");
        writer.RenderBeginTag(HtmlTextWriterTag.Div);
        txtusername.RenderControl(writer);
        writer.RenderEndTag();
        writer.AddStyleAttribute(HtmlTextWriterStyle.Padding, "3px");
        writer.RenderBeginTag(HtmlTextWriterTag.Div);
        txtpassword.RenderControl(writer);
        writer.RenderEndTag();
        writer.RenderEndTag();
        writer.Write("<br style=’clear:left’ />");
    }
        protected override HtmlTextWriterTag TagKey
        {
            get
                {
                return HtmlTextWriterTag.Div;
                }
            }
}
}

일반 .aspx 페이지에서 이 cs 파일을 사용하고 싶습니다. 개체를 생성하여 수행했지만.. 작동하지 않습니다. .aspx 페이지에서 login.cs 파일을 호출하는 방법입니다. 도움을 주시면 감사하겠습니다.

"작동하지 않습니다" ... 발생한 오류/pb는 무엇입니까?

Steve B2022-01-14 19:33:14
  • 답변 # 1

    당신은 등록하다제어 접두어 ?

    <%@ Register tagprefix="My"
       namespace="WebApplication6"
       assembly="WebApplication6" %>

    그런 다음 code 내에서 다음을 사용할 수 있습니다.

    <my:LoginStandards runat="server" />

  • 이전 java : 텍스트 입력 레이아웃 배경을 제거하는 방법
  • 다음 python : 변수를 바꾸지 않고 jinja2 템플릿을 로드할 수 있습니까?