簡體   English   中英

在共享webforms代碼隱藏以進行用戶控制時,如何訪問公共屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM