App_Codeでコントロールを定義する
App_Codeフォルダ配下に追加したコントロールを使用する方法。
~/App_Code/webusercontrol.cs
using System; using System.Text.RegularExpressions; namespace webusercontrol { ////// /// public class LabelNumeric : System.Web.UI.WebControls.Label { string strText = ""; ////// can input only numeric characters /// public string Text { set { Regex reg = new Regex("[^0-9]"); strText = reg.Replace(value, ""); } get { return strText; } } } }
~/test.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="mycontrol.aspx.cs" Inherits="common_mycontrol" %>
<%@ Register TagPrefix="mycon" Namespace="webusercontrol" Assembly="__code" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"><title></title></head>
<body>
<form id="form1" runat="server">
<div>
<mycon:LabelNumeric runat="server" ID="mylabel1" />
</div>
</form>
</body>
</html>ポイントは、Registerタグ内の「Assembly="__code"」。