I have a project and I am trying to register a custom server control (there is no .ascx
file) on the page. I am currently using
namespace MyApp.Controls{ public class CustomControl: WebControl{ public string Text { get { String s = (String)ViewState["Text"]; return ((s == null) ? String.Empty : s); } set { ViewState["Text"] = value; } } protected override void RenderContents(HtmlTextWriter output) { output.Write(Text); } } }
On my page,
<%@ Register TagPrefix="myControls" Namespace="MyApp.Controls" %> <myControls:CustomControl runat="server" Text="What up!" />
I receive a Parser Error, with the message "Unknown server tag 'myControls:CustomControl'."
What am I doing wrong?
User controls are custom, reusable controls, and they use the same techniques that are employed by HTML and Web server controls. They offer an easy way to partition and reuse common user interfaces across ASP.NET Web applications. They use the same Web Forms programming model on which a Web Forms page works.
Adding User Controls to a Web Forms Page and then change the TagPrefix and TagName as per your requirement. In order to set the TagPrefix and TagName of the UserControl . It is required to register the control first. Drag Drop the WebUserControl will convert it into Anchor tag.
Well, if this control is in another class library, or even if it's in the same one, it wouldn't be a bad idea to specify control's assembly in @Register:
<%@ Register TagPrefix="myControls" Namespace="MyApp.Controls" Assembly="MyApp" %> <myControls:CustomControl runat="server" Text="What's up!" />
Clean and rebuild your solution too in order to verify everything is compiled rightly!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With