将Web用户控件拖到设计图面上时,它会自动指定tagprefix = uc1。
是否有人知道如何更改所有Web用户控件的默认tagprefix 你拖到一个网络表单?
答案 0 :(得分:2)
Adding User Controls to a Web Forms Page
您必须Register
以下Page directive
下面的<%@ Register TagPrefix="Guest" TagName="GuestExample" Src="~/YourControl.ascx" %>
控件。
TagPrefix
然后根据您的要求更改TagName
和<Guest:GuestExample ID="ID" runat="server" />
。
实施例
<?xml version="1.0"?>
<configuration>
<system.web>
<pages>
<controls>
<add tagPrefix="Guest" src="~/YourControl.ascx" tagName="GuestExample"/>
</controls>
</pages>
</system.web>
</configuration>
不要在所有页面上复制它们,只需声明一次即可 在新页面 - &gt;控件部分与web.config文件 你的申请:
{{1}}
答案 1 :(得分:2)
实际上,这可以使用Assembly-Level属性TagPrefix来实现。
<Assembly: TagPrefix("MyCompany.Web", "SomeFancyTagPrefix")>
Public Class MyCustomControl
Inherits WebControl
'class implementation
End Class
第一个参数是控件的命名空间,第二个参数是您喜欢的标记前缀。
将自定义控件拖放到页面上时的结果:
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm1.aspx.vb" Inherits="MyCompany.Web.WebForm1" %>
<%@ Register Assembly="My Company" Namespace="MyCompany.Web" TagPrefix="SomeFancyTagPrefix" %>
<!DOCTYPE html>
<html>
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<SomeFancyTagPrefix:MyCustomControl ID="MyCustomControl1" runat="server">
</SomeFancyTagPrefix:MyCustomControl>
</div>
</form>
</body>
</html>