0
렌더링되지 I는이 HTML단순한 시각적는 WebPart, 컨트롤
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LinkButton.ascx.cs" Inherits="xx.xxxxDMS.WebParts.VisualWebParts.LinkButton.LinkButton" %>
<script type="text/javascript">
function OpenModalPopup(pageUrl) {
var options = { url: pageUrl, width: 900, height: 300 };
SP.SOD.execute('sp.ui.dialog.js', 'SP.UI.ModalDialog.showModalDialog', options);
}
</script>
<asp:LinkButton ID="LnkButton" runat="server"></asp:LinkButton>
으로 단순한 시각적는 WebPart 만든 뒤에 코드에서 I 3 개 속성을 추가했다. 텍스트 링크와 URL을 사용하여 속성을 편집 한 후에는 LinkButton이 렌더링되지 않습니다. 내가 놓친 게 있니? 주의하시기 바랍니다 자사의 SP 2013
나는이 솔루션을 시도 거라고 : http://www.tfsconsulting.com.au/visual-studio-2012-sharepoint-2013-visual-web-part-project-template-is-buggy/
을하지만 컨트롤 템플릿 폴더 내 customwebpart에 대한 ASCX 파일이없는 것으로 나타났습니다, 그래서이 2013 년 변경 추측?
using System;
using System.ComponentModel;
using System.Web.UI.WebControls.WebParts;
namespace xx.SP.xx.WebParts.VisualWebParts.LinkButton
{
[ToolboxItemAttribute(false)]
public partial class LinkButton : WebPart
{
private string _LinkText;
private Uri _Link;
private Boolean _OpenModal;
[WebBrowsable(true), WebDisplayName("LinkText"), WebDescription("Text for the link"),
Personalizable(PersonalizationScope.Shared), Category("xx - xx"),
System.ComponentModel.DefaultValue("")]
public string LinkText
{
get { return _LinkText; }
set { _LinkText = value; }
}
[WebBrowsable(true), WebDisplayName("Link"), WebDescription("Link"),
Personalizable(PersonalizationScope.Shared), Category("xx- xx"),
System.ComponentModel.DefaultValue("")]
public Uri Link
{
get { return _Link; }
set { _Link = value; }
}
[WebBrowsable(true), WebDisplayName("OpenModal"), WebDescription("OpenModal"),
Personalizable(PersonalizationScope.Shared), Category("xx- xx"),
System.ComponentModel.DefaultValue("")]
public Boolean OpenModal
{
get { return _OpenModal; }
set { _OpenModal = value; }
}
// Uncomment the following SecurityPermission attribute only when doing Performance Profiling on a farm solution
// using the Instrumentation method, and then remove the SecurityPermission attribute when the code is ready
// for production. Because the SecurityPermission attribute bypasses the security check for callers of
// your constructor, it's not recommended for production purposes.
// [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Assert, UnmanagedCode = true)]
public LinkButton()
{
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
InitializeControl();
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected override void CreateChildControls()
{
if (LnkButton != null)
{
LnkButton.Text = LinkText;
if (OpenModal)
{
LnkButton.Attributes.Add("onclick", "OpenModalPopup('" + Link.ToString() + "');");
}
else
{
LnkButton.PostBackUrl = Link.ToString();
}
}
}
}
}
기본값을 사용하여 해당 값을 초기화하는 것으로 시작하십시오. - 작동합니까? 그런 다음 구성 또는 링크 버튼이 작동하지 않는지 여부를 판별 할 수 있습니다. – Ian