셰어 포인트 컨트롤을 사용하려면 SPContext.current.site/web이 작동해야하지만 site = new spsite (siteID); 나는 컨트롤을 사용하고 싶다. 그래서 어떤 생각이나 사용 가능한 클래스를 sharepoint에서 asp.net 컨트롤을 사용합니까? 내가 사용하고spcontext.current를 사용하지 않고 셰어 포인트에서 컨트롤을 사용하는 방법
1
A
답변
0
//open site and web
sSiteID = Request.QueryString["siteID"];
sWebID = Request.QueryString["parentWebID"];
site = new SPSite(new Guid(sSiteID));
web = site.OpenWeb(new Guid(sWebID));
//show the properties of the list in the edit form
(...)
if ((list.AllowContentTypes == true) && (list.ContentTypesEnabled == true))
{
(...)
SharePointWebControls oSharePointWebControls = new SharePointWebControls();
cntrl = oSharePointWebControls.GetSharePointControls(field, list, item, SPControlMode.Edit, "");
}
public Control GetSharePointControls(SPField field, SPList list, SPListItem item, SPControlMode mode, string strType)
{
switch (field.FieldRenderingControl.ToString())
{
case "Microsoft.SharePoint.WebControls.TextField":
return CreateTextFieldControl(field, list, item, mode);
}
}
#region Create SharePoint Controls
private static Control CreateTextFieldControl(SPField field, SPList list, SPListItem item, SPControlMode mode)
{
TextField tf = new TextField();
//tf.EnableViewState=false;
tf.ListId = list.ID;
if (item != null)
{
tf.ItemId = item.ID;
}
tf.FieldName = field.Title;
tf.ID = "Field_" + field.Id;
//tf.CssClass = "spsControl";
tf.ControlMode = mode;
//check if the field has a default value
if (field.DefaultValue != "null" && field.DefaultValue != null)
{
tf.Text = field.DefaultValue.ToString();
}
try
{
RequiredFieldValidator cntrlValidator = ((RequiredFieldValidator)tf.Controls[0].Controls[3]);
}
catch (Exception ex)
{
}
return tf;
}
모든 셰어 컨트롤이 작동하고 TF가 올바르게 반환됩니다,하지만 난 현재 사이트 또는 현재 웹 에 아닙니다 때이 예외가 발생했습니다 : InvalidArgumentException를 컨트롤에. 이러한 컨트롤이 현재 사이트 나 웹 외부에서 작동하지 않는다고 생각합니다. asp.net 컨트롤을 사용해야합니다. 그것은 맞습니까? 아니면 다른 해결책이 있습니까? 미리 감사드립니다 ...
+0
에 맞게 코드를 포맷하고 질문 자체로 옮길 수 있습니까? 근본적으로 spcontext를 가짜로 만들고 다른 sitecollection을로드해야합니다. –
0
관련 문제
- 1. 셰어 포인트에서 열을 고정해야합니다.
- 2. 셰어 포인트에서 콘텐츠 렌더링 렌더링
- 3. 제출을 사용하지 않고 POST하는 방법?
- 4. 셰어 포인트에서 웹 서비스에 사용자 이름을 전달하는 방법
- 5. 크리스탈 리포트가 셰어 포인트에서 작동하지 않습니다
- 6. 셰어 포인트에서 사용자 지정 목록으로 디자인
- 7. 셰어 포인트에서 참조하는 DLL을 배포하는 경우
- 8. 이름 속성을 사용하지 않고 jQueryValidation을 사용하는 방법
- 9. 웹 서비스 호출을 사용하지 않고 Silverlight 컨트롤을 초기화하는 방법
- 10. 셰어 포인트에서 URL 링크를 한 번에 편집하는 방법
- 11. 웹 서비스를 통해 셰어 포인트에서 인증 공급자를 얻는 방법?
- 12. Jquery 컨트롤을 사용하지 않고 선택 가능
- 13. 브라우저 컨트롤을 사용하지 않고 웹 페이지의 높이를 감지하는 방법
- 14. 셰어 포인트에서 PDF 변환 및 pdf 뷰어에 대한 타사 통제
- 15. 셰어 포인트 필드 컨트롤을 아는 방법?
- 16. 컨트롤을 그리지 않고 컨트롤을 그리는 방법
- 17. 드롭 다운 목록에서 셰어 포인트에서 다중 선택 허용
- 18. 날짜를 GUI를 통해 셰어 포인트에서 iso 형식으로 설정
- 19. 숨기기 그룹화 한 요소 만 포함 (셰어 포인트에서)
- 20. jquery를 사용하여 웹 서비스를 통해 셰어 포인트에서 문서 가져 오기
- 21. 데이터베이스를 사용하지 않고 faye를 사용하는 메시지
- 22. .htaccess를 사용하지 않고 apache 요청에 CGI를 사용하는 방법
- 23. p : dataTable을 사용하지 않고 p : dataExporter를 사용하는 방법
- 24. 초기 또는 항상 블록을 사용하지 않고 $ display를 사용하는 방법
- 25. 도우미를 사용하지 않고 작업을 지정하는 방법
- 26. silverlight에서 gridview 컨트롤을 사용하는 방법
- 27. 포인트에서 실제 hwnd
- 28. FileUpload 서버 컨트롤을 사용하지 않고 ASP.net에서 파일 업로드
- 29. WebBrowser .NET 컨트롤을 사용하지 않고 mediafire directlink를 가져 오는 중입니까?
- 30. ASP.NET web.config를 사용하지 않고 사용자 컨트롤을 자동화하는 중
제어 개체를 만드는 방법과 사용하려고 할 때 어떤 예외가 발생하는지 등의 자세한 정보를 제공해주십시오. 감사합니다. –
답장에 답글을 쓸 것입니다. 답장이 너무 커서 – Manale