[英]How do I access public properties when sharing webforms codebehind for user control
我試圖制作一個ascx控件,可以由我們的前端開發人員模板化,只需創建一個新的.ascx並指向該實例中的特定.ascx。 但是,我在共享代碼隱藏方案中訪問屬性時遇到問題。
我分享了以下代碼
public partial class TemplateCodeBehind : TemplateControlBase
{
protected void Page_Load(object sender, EventArgs e)
{
}
// Ascx Available properties
public string GetOption1Value { get { return Option1; } }
public string GetOption2Value { get { return Option2; } }
public string GetOption3Value { get { return Option3; } }
public string GetOption4Value { get { return Option4; } }
}
請注意,返回的那些選項是TemplateControlBase
類的公共屬性。 在我的模板子文件夾中,我有以下ascx
<%@ Control Language="C#" AutoEventWireup="false" CodeBehind="../TemplateCodeBehind.ascx.cs" Inherits="MyNamespace.JqueryTemplates.TemplateCodeBehind" %>
<%@ Import Namespace="MyNamespace.JqueryTemplates" %>
<div>
Option1: <%= GetOption1 %>
</div>
這編譯很好,但是當我嘗試加載我的測試ascx時,我收到以下錯誤
發生了錯誤。 DotNetNuke.Services.Exceptions.PageLoadException:c:\\ Projects \\ DNN-Dev \\ Website \\ DesktopModules \\ Module.JqueryTemplates \\ Templates \\ Test.ascx(5):error CS0103:當前上下文中不存在名稱'GetOption1'
我嘗試將<%=
更改為<%#
並調用Page.Databind()
但似乎沒有任何效果。
有關如何實現這一目標的任何想法?
在ascx文件中,將GetOption1
更改為GetOption1Value
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.