2

Web ユーザー コントロールをデザイン サーフェイスにドラッグすると、tagprefix = uc1 が自動的に割り当てられます。

WebフォームにドラッグするすべてのWebユーザーコントロールのデフォルトのタグプレフィックスを変更する方法を知っている人はいますか?

4

2 に答える 2

2

ユーザー コントロールを 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>
于 2012-04-18T03:09:15.253 に答える
2

実際には、これはアセンブリ レベルの属性である 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>
于 2014-07-16T17:52:00.917 に答える