C# 将代码隐藏参数传递给Ext.Net控件
我在代码隐藏控件中有一个变量。我想将此值传递给web控件中的Ext.Net控件。在我的例子中,我有一个ext.multicmbo,我想把一个值传递给它的工具提示 代码隐藏: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
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>