2012-09-26 139 views
0

我正在尝试制作一个ascx控件,可以由我们的前端开发人员制作一个新的.ascx,并指向该特定的.ascx。实例。但是,我在共享代码隐藏场景中访问属性时遇到问题。如何在共享用户控件的webforms代码隐藏时访问公共属性

我背后有下面的代码分享的内容

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):错误CS0103:名称'GetOption1'在当前上下文中不存在

我已经尝试将<%=更改为<%#并呼吁Page.Databind()但似乎没有任何工作。

关于我如何完成此任何想法?

+1

我可能失去了一些东西,但不应'GetOption1'是'GetOption1Value'? – mlorbetske

+0

感叹,不,你不会错过任何东西。这是问题:( – KallDrexx

回答

2

在ASCX文件更改GetOption1到​​

相关问题