Я хотел бы создать настраиваемый элемент управления: числовое текстовое поле. Я следовал этому руководству (http://www.codeproject.com/Articles/42382/Creating-a-Numeric-TextBox-Control), но у меня возникла проблема. Я хочу, чтобы создать эти элементы управления динамически так:Динамический пользовательский контроль asp.net: свойство ID?
NumericTextBox _Quantity = new NumericTextBox();
_Quantity.ID = "_Quantity" + id;
_Quantity.Text = "1";
Однако, говорят, что нет никакого определения для свойства «ID» в NumericTextBox. Тем не менее, этот контроль ребенок TextBox, поэтому он должен иметь свойство ID, как один текст, который хорошо работает ...
using System;
using System.Web.UI;
[assembly: WebResource("CustomControls.Resources.NumericTextBox.js", "text/javascript")]
namespace CustomControls
{
[ToolboxData(@"<{0}:NumericTextBox ID="""" Text="""" runat=""server""></{0}:NumericTextBox>")]
public partial class NumericTextBox : System.Web.UI.WebControls.TextBox
{
// specific code
}
}
ли я что-то пропустил? Если я могу заставить это свойство работать, будет ли метод FindControl работать с настраиваемым элементом управления?
Большое спасибо!
EDIT:
У меня есть два проекта в моем решении:
- библиотека классов один, "CustomControls", который содержит NumericTextBox.cs
- И мой сайт.
Вот моя страница экстракт Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text.RegularExpressions;
using CustomControls;
public partial class MyPage : System.Web.UI.Page
{
protected void AddItem(Enum type, Enum content)
{
string id = (content != null) ? content.ToString() : type.ToString();
...
NumericTextBox _Quantity = new NumericTextBox();
_Quantity.ID = "_Quantity" + id;
_Quantity.Text = "1";
...
}
}
Спасибо за ваш ответ! Я использую пространство имен CustomControls, поэтому я думал, что это сработает ... Я отредактировал свой первый пост с кодом моей страницы;) –
Хм, если я скопирую код в мое решение, он работает. Что произойдет, если вы попытаетесь создать экземпляр простого 'TextBox' в вашем' AddItem'-Method? У вас есть ID-свойство? Возможно, вы забыли ссылаться на некоторые сборки ... – BendEg
Да У меня есть = (В NumericTextBox нет свойства ID, но он должен быть унаследован ... Я могу редактировать первый пост с помощью кода элемента управления. Я добавил ссылку CustomControls на веб-сайт проект, но самым странным является то, что свойство Text работает, но не свойство идентификатора. –