Web ユーザー コントロールをデザイン サーフェイスにドラッグすると、tagprefix = uc1 が自動的に割り当てられます。
WebフォームにドラッグするすべてのWebユーザーコントロールのデフォルトのタグプレフィックスを変更する方法を知っている人はいますか?
Web ユーザー コントロールをデザイン サーフェイスにドラッグすると、tagprefix = uc1 が自動的に割り当てられます。
WebフォームにドラッグするすべてのWebユーザーコントロールのデフォルトのタグプレフィックスを変更する方法を知っている人はいますか?
ユーザー コントロールを Web フォーム ページに追加する
Register
以下のようなコントロールをする必要がありPage directive
ます。
<%@ Register TagPrefix="Guest" TagName="GuestExample" Src="~/YourControl.ascx" %>
TagPrefix
そして、必要に応じてとを変更しTagName
ます。
例
<Guest:GuestExample ID="ID" runat="server" />
すべてのページでそれらを複製する代わりに、アプリケーションの web.config ファイルを使用して、新しい pages->controls セクション内でそれらを 1 回宣言するだけです。
<?xml version="1.0"?>
<configuration>
<system.web>
<pages>
<controls>
<add tagPrefix="Guest" src="~/YourControl.ascx" tagName="GuestExample"/>
</controls>
</pages>
</system.web>
</configuration>
実際には、これはアセンブリ レベルの属性である TagPrefix を使用して実現できます。
<Assembly: TagPrefix("MyCompany.Web", "SomeFancyTagPrefix")>
Public Class MyCustomControl
Inherits WebControl
'class implementation
End Class
最初のパラメーターはコントロールの名前空間で、2 番目のパラメーターは好みのタグ プレフィックスです。
カスタム コントロールをページにドラッグ アンド ドロップしたときの結果:
<%@ 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>