ASP.NET의 데이터베이스에서 양식을 동적으로 생성하고 싶습니다. 어떤 방법이 가장 좋습니까? 사용할 수있는 기능이 있습니까?ASP.NET의 동적 양식 생성
나는 패널과 그 이름을 나타내는 데이터베이스 테이블을 가지게 될 것이고, 각각의 패널에 다른 필드와 타입 (콤보, 텍스트 박스 등)이 포함될 것이다.
감사합니다.
참고 : 나는 Dynamic Data에서보세요 형태로 생성
ASP.NET의 데이터베이스에서 양식을 동적으로 생성하고 싶습니다. 어떤 방법이 가장 좋습니까? 사용할 수있는 기능이 있습니까?ASP.NET의 동적 양식 생성
나는 패널과 그 이름을 나타내는 데이터베이스 테이블을 가지게 될 것이고, 각각의 패널에 다른 필드와 타입 (콤보, 텍스트 박스 등)이 포함될 것이다.
감사합니다.
참고 : 나는 Dynamic Data에서보세요 형태로 생성
에 대한 Telerik 아약스 컨트롤을 사용합니다.
나는 최근에 그것에 대해 알았고 이미 나를 로 많은 시간을 저장했다.
업데이트 :
죄송합니다 - 질문을 다시 읽어 데, 나는 이것이 당신이 후 무엇인지 생각하지 않습니다.
데이터베이스의 레코드를 기반으로 양식을 동적으로 생성하려면 자체 엔진을 작성해야 할 수 있습니다.
하지만 몇 가지 제안 :
업데이트 : 런타임에서 어셈블리의 세부 사항에 대해 알아 때 반사 간단히 말하면
에 대한 추가 정보는, 반사이다. 이 경우 리플렉션을 사용하여 데이터베이스의 정보를 기반으로 컨트롤을로드하는 것이 좋습니다.
그래서 당신은 다음과 같은 데이터베이스의 레코드가 있다면 :
:FieldName DataType DisplayControl DisplayProperty
----------------------------------------------------------------------------------
FirstName System.String System.Web.UI.WebControls.TextBox Text
당신은 페이지의 컨트롤을 생성하기 위해 다음 (가 안된입니다 참고) 같은 일부 코드를 사용할 수를
// after getting the "PageItem" database records into a "pageItems" array
foreach (PageItem p in pageItems)
{
// get the type and properties
Type controlType = System.Type.GetType(p.DisplayControl)
PropertyInfo[] controlPropertiesArray = controlType.GetProperties();
// create the object
object control = Activator.CreateInstance(controlType);
// look for matching property
foreach (PropertyInfo controlProperty in controlPropertiesArray)
{
if (controlPropertiesArray.Name == p.DisplayProperty)
{
// set the Control's property
controlProperty.SetValue(control, "data for this item", null);
}
}
// then generate the control on the page using LoadControl (sorry, lacking time to look that up)
이 작업을 수행하는 방법에 대한 개요 페이지가 정말 있습니다. here. 당신이 겪은 일로 꽤나 보입니다.
나는 반사에 익숙하지 않다. 당신이 의미하는 바를 확장 할 수 있습니까? 가급적 간단한 예제가 있습니까? – Joshscorp
물론, 나는 나의 대답을 업데이트 할 것이다 – Damovisa
고마워, 그다지 나에게 시작을 안겨 주겠다. 나는 Activer.CreateInstance로 Telerik 컨트롤을 사용할 수있을 것이라고 생각하니? – Joshscorp