C# 将代码隐藏参数传递给Ext.Net控件

C# 将代码隐藏参数传递给Ext.Net控件,c#,ext.net,C#,Ext.net,我在代码隐藏控件中有一个变量。我想将此值传递给web控件中的Ext.Net控件。在我的例子中,我有一个ext.multicmbo,我想把一个值传递给它的工具提示 代码隐藏: protected override void OnPreRender(EventArgs e) { this.MaxFuelFilter = System.Configuration.ConfigurationManager.AppSettings["MyVariable"]; } Control.aspx <e

我在代码隐藏控件中有一个变量。我想将此值传递给web控件中的Ext.Net控件。在我的例子中,我有一个ext.multicmbo,我想把一个值传递给它的工具提示

代码隐藏:

protected override void OnPreRender(EventArgs e)
{
this.MaxFuelFilter = System.Configuration.ConfigurationManager.AppSettings["MyVariable"]; 
}
Control.aspx

<ext:multicombo ID="ddlFlightNumber" runat="server" ClientID="ddlFlightNumber" IndicatorTip="blah blah blah  <%=MyVariable%> blah blah blah"></ext:multicombo>

我怎么做这样的事


谢谢我的变量
在哪里定义?如果它是页面类的
public
protected
成员,并且在页面生命周期中足够早地初始化(
page\u Init
可能?可能
page\u Load
但我会仔细检查并测试它),那么这种方法应该可以工作。

有几个问题:

您使用的语法不能与ASP.NET控件一起使用。这是ASP.NET限制,与Ext.NET无关

这是无效的ASP.NET语法:

PropertyName="foo foo <%=MyVariable%>"
PropertyName="<%=MyVariable%>"
PropertyName="foo foo <%# MyVariable %>"
或者,使用Ext.NET控件,您可以设置
.AutoDataBind=“true”
属性,例如,数据绑定将自动为您处理

<ext:TextField runat="server" PropertyName="<%# MyVariable%>" AutoDataBind="true" />
您应该能够调整以上内容以使用自定义控件


希望这有帮助。

我正在OnPreRender中设置变量。问题是我找不到将值输入ext控件的正确语法。@hoakey:您能更新问题以显示
MyVariable
是如何声明和初始化的吗?谢谢您的回答Geoffrey。我有点困惑。我是否正在创建一个文本字段并将其传递给multicombo控件的工具提示?您可以使用您喜欢的任何组件传递该值。如果您可以提供一个简化的代码示例来演示您的场景,我相信我们可以提供进一步的建议。你提供的信息在细节上有点单薄。
this.MyControl1.DataBind();
<ext:TextField runat="server" PropertyName="<%# MyVariable%>" AutoDataBind="true" />
<%@ Page Language="C#" %>

<%@ Register assembly="Ext.Net" namespace="Ext.Net" tagprefix="ext" %>

<script runat="server">
    string myVar;
    string myVar2;

    protected void Page_Load(object sender, EventArgs e)
    {
        myVar = "Label 1";
        myVar2 = "Label 2";
    }
</script>

<!DOCTYPE html>

<html>
<head runat="server">
    <title>Ext.NET Example</title>
</head>
<body>
    <form runat="server">
        <ext:ResourceManager runat="server" />

        <ext:TextField 
            ID="TextField1" 
            runat="server" 
            MyVar="<%# myVar %>"
            AutoDataBind="true" 
            FieldLabel="Testing">
            <Listeners>
                <AfterRender Handler="this.setFieldLabel(this.myVar);" />
            </Listeners>
        </ext:TextField>

        <ext:TextField 
            ID="TextField2" 
            runat="server" 
            MyVar="<%# myVar2 %>"
            AutoDataBind="true" 
            FieldLabel="Testing">
            <Listeners>
                <AfterRender Handler="this.setFieldLabel(myVar2);" />
            </Listeners>
        </ext:TextField>

        <script type="text/javascript">
            var myVar2 = "<%= myVar2 %>";
        </script>
    </form>
</body>
</html>