2009-03-08 2 views
2

저는 PHP 배경을 사용하고 있지만 SharePoint에서 일부 사용자 지정 웹 파트를 개발하는 임무를 맡았습니다. VB에서 기본 "Hello world"웹 파트를 만들고 배포하는 방법을 알아 냈습니다. 좋아, 지금까지.VB에서 셰어 포인트 양식 레이아웃

내가 붙어있는 것은 정말 기본적인 바보 같은 점이다. VB 웹 파트에 어떻게 배치 할까?

예를 들어

, 여기에 레이블과 텍스트 상자의 : I, 예를 들어, mylabel을 얻을 것 어떻게

protected overrides sub createchildcontrols() 
mybase.createchildcontrols 

dim mylabel as new label 
dim mytextbox as new textbox 

mylabel.text ="My label text" 
mytextbox.text ="My textbox" 

me.controls.add(mylabel) 
me.controls.add(mytextbox) 

는 나의 텍스트 상자는 오히려 그들처럼 다른 후 하나를 실행하는 것보다, 다른 라인에 표시 지금? PHP에서 나는 그것들을 몇 줄의 최상위 줄에서 줄 바꿈하여 differnt 줄에 놓았지만 여기서 어떻게 할 수 있습니까?

답변

2

여러 가지 방법이 있습니다. 가장 쉬운 방법은 컨트롤을 다른 라인에 표시하려면 ASP.net LiteralControl에 BR 태그를 추가하는 것입니다.

그 외에도 Table과 같은 ASP.net 서식 지정 컨트롤을 사용하여 컨트롤을 출력 섹션으로 나눌 수 있습니다.

또한 WebControl에서 파생되는 모든 항목에는 사용할 수있는 스타일 시트를 기반으로하여 서식을 설정하기위한 Attribues 및 CssClass 속성이 있습니다.

마지막 방법은 가장 사용자 지정이 가능하지만 유지 및 변경이 가장 어려운 방법은 webpart의 Render 메서드를 재정의하고 WebPart에서 직접 HTML을 생성하는 것입니다.

이 모든 것을 스크랩하고 SmartPart을 사용하여 SharePoint 내에서 사용할 ASP.net 사용자 정의 컨트롤을 개발할 수 있습니다. Visual Studio 디자이너 도구를 사용하여 양식의 컨트롤을 레이아웃하는 옵션을 제공합니다.

+0

지금까지 LiteralControl 옵션을 사용하여 정상적으로 저장했습니다. 필요한 웹 파트를 즉시 제작하는 것으로 충분합니다. 빌드 할 웹 파트가 더 많으므로 장기적으로 SmartPart 옵션을 사용해 보겠습니다. – sonniesedge

1

Render() 메서드를 재정의해야합니다. 기본적으로이 메서드는 CreateChildControls() 메서드에 추가 한 모든 자식 컨트롤을 렌더링하지만 재정의하면 컨트롤 주위에 추가 HTML 요소를 쓸 수 있습니다.

C#에서 나는 보통 코드,하지만 난 다음 예제는 VB에서 일해야한다고 생각 :

Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter) 
    writer.Write("<h1>Custom webpart rendering</h1>") 
    me.mylabel.RenderControl(writer) 
    writer.Write("<br />") 
    me.myTextbox.RenderControl(writer) 
End Sub 

그것을 시도 줄 ...

1

가 나는 ASP에 대한 웹 파트를 개발했습니다. NET 사이트에서 표준 웹 사용자 컨트롤 모델을 사용하여 VS 디자이너에 액세스 할 수 있으며 UI가 표준 HTML이 될 수 있음을 의미합니다. 그런 다음 ASP.NET은 런타임에 UserControl을 WebParts 사이트에서 호스팅하기 위해 GenericWebPart에 래핑합니다.

나는 셰어 박스에서이 모델을 지원하지 않는다는 것을 알고 있지만 난 그냥 당신을 도울 수있는이 ...

http://weblogs.asp.net/jan/archive/2006/12/02/announcing-the-return-of-the-smartpart.aspx

0

스마트 제품을 발견했습니다 (또는 그것의 변형) 가장 쉬운 방법입니다. 왜 사용자 컨트롤을보다 쉽게 ​​개발할 수있을 때 직접 HTML을 렌더링하는 것이 엉망입니까?

게다가 나는이 매우 주제에 대해 블로그에

0

모든 답변 주셔서 감사합니다. EvilGoatBobs 솔루션을 가장 즉시 구현하기 쉽도록 구현했습니다.

이것은 StackOverflow에서 처음 사용하는 유용한 답변으로 사이트에 대한 훌륭한 소개가되었습니다! :)