Я написал собственный элемент управления, унаследованный от WebControl. (Примечание: не пользовательский элемент управления).
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
namespace Taopi.WebComponents
{
public class RatingLabel : WebControl
{
public RatingLabel()
: base("span")
{ }
//...
Я поместил его в /App_Code
, и на веб-странице он зарегистрирован и используется следующим образом:
<%@ Register TagPrefix="uc" Namespace="Taopi.WebComponents" %>
...
<uc:RatingLabel Rating='<%# Eval("rating") %>' runat="server" />
Они работают хорошо, пока я не переместу RatingLabel на /Components
, то есть папку, созданную мной. При попытке запустить веб-сайт я получил сообщение " Неизвестный тег сервера uc: RatingLabel ".
Я считаю, что регистрация неверна, так что нужно изменить? Должны ли пользовательские элементы управления быть помещены в App_Code?
У меня есть еще один вопрос: где вы обычно размещаете свои пользовательские элементы управления (кроме ссылки на внешнюю DLL)? Есть ли «предложенные» места?