Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何以编程方式设置aspx文件中控件的属性?_C#_.net_Asp.net_Expression - Fatal编程技术网

C# 如何以编程方式设置aspx文件中控件的属性?

C# 如何以编程方式设置aspx文件中控件的属性?,c#,.net,asp.net,expression,C#,.net,Asp.net,Expression,这可能是一个非常愚蠢的问题,但我似乎无法让它发挥作用。我在许多地方使用以下语法将aspx文件中控件的属性动态绑定到资源条目,例如 <SomeFunnyControl Text="<%$ Resources : ResClass, ResEntry %>" /> 我想对包含一些常量的类做类似的事情,比如 <SomeFunnyControl Text="<%= MyConstantsClass.MyStringConstant %>" />

这可能是一个非常愚蠢的问题,但我似乎无法让它发挥作用。我在许多地方使用以下语法将aspx文件中控件的属性动态绑定到资源条目,例如

<SomeFunnyControl Text="<%$ Resources : ResClass, ResEntry %>" />

我想对包含一些常量的类做类似的事情,比如

<SomeFunnyControl Text="<%= MyConstantsClass.MyStringConstant %>" />

但这似乎不起作用,它只是将文本设置为精确的表达式,而不进行计算。我正在使用ASP.NET 3.5 btw

我已经尝试过数据绑定方法,但是我得到一个HttpParseException说

数据绑定表达式仅适用于 在具有 数据绑定事件


然后调用lbl.DataBind();或者数据绑定标签的某个容器。



然后调用lbl.DataBind();或者数据绑定标签的某个容器。

您的代码应该如下所示:

<asp:Label ID="lblMyStringConstant" runat="server" Text='<%# MyConstantsClass.MyStringConstant %&>'></asp:Label>
lblMyStringConstant.DataBind();
<asp:Label ID="lblTest" runat="server"><%= MyNamespace.MyConstantsClass.MyStringConstant %></asp:Label>

(如果在整个页面或此标签的父容器上调用DataBind,则不必这样做,因为它将为其所有子容器调用DataBind)

您的代码应如下所示:

<asp:Label ID="lblMyStringConstant" runat="server" Text='<%# MyConstantsClass.MyStringConstant %&>'></asp:Label>
lblMyStringConstant.DataBind();
<asp:Label ID="lblTest" runat="server"><%= MyNamespace.MyConstantsClass.MyStringConstant %></asp:Label>

(如果您在整个页面或此标签的父容器上调用DataBind,则不必这样做,因为它将为其所有子容器调用DataBind)

如果您这样做,它实际上应该可以工作:

public static class MyConstantsClass
{
   public static string MyStringConstant = "Hello World!";
}
或者

public class MyConstantsClass
{
   public const string MyStringConstant = "Hello World!";
}
如果你这样声明的话

<asp:Label ID="Label1" runat="server" Text="<%= MyNamespace.MyConstantsClass.MyStringConstant %>"></asp:Label>

它将不工作,输出将为“

你也可以这样写:

<asp:Label ID="lblMyStringConstant" runat="server" Text='<%# MyConstantsClass.MyStringConstant %&>'></asp:Label>
lblMyStringConstant.DataBind();
<asp:Label ID="lblTest" runat="server"><%= MyNamespace.MyConstantsClass.MyStringConstant %></asp:Label>


这对我来说非常有效,但请注意,您必须在ASPX定义中为类提供完全限定的命名空间。至少在其他情况下,它对我不起作用。

如果您有这样的功能,它实际上应该可以工作:

public static class MyConstantsClass
{
   public static string MyStringConstant = "Hello World!";
}
或者

public class MyConstantsClass
{
   public const string MyStringConstant = "Hello World!";
}
如果你这样声明的话

<asp:Label ID="Label1" runat="server" Text="<%= MyNamespace.MyConstantsClass.MyStringConstant %>"></asp:Label>

它将不工作,输出将为“

你也可以这样写:

<asp:Label ID="lblMyStringConstant" runat="server" Text='<%# MyConstantsClass.MyStringConstant %&>'></asp:Label>
lblMyStringConstant.DataBind();
<asp:Label ID="lblTest" runat="server"><%= MyNamespace.MyConstantsClass.MyStringConstant %></asp:Label>

这对我来说非常有效,但请注意,您必须在ASPX定义中为类提供完全限定的命名空间。至少在其他方面它对我不起作用。

本文:可能很有趣/有用(尽管是为ASP.NET 2.0编写的)

它(似乎)能让你写
。。。Text=”“…
。那可能会有帮助,不是吗?不过,这是相当大的开销。

本文:可能很有趣/有用(尽管是为ASP.NET 2.0编写的)


它(似乎)能让你写
。。。Text=”“…
。那可能会有帮助,不是吗?不过,这是一个相当大的开销。

作为回报的愚蠢问题是:MyConstantsClass是静态的吗?不,它有什么不同吗?MyStringConstant是public const stringhmm..哪个类中的public const字符串??MyConstantsClass到底是什么?标签所在的页面上是否有公共/受保护的属性?如果您认为调用的属性可能有问题,请尝试Text=''否,这是一个完全独立的类,其中MyStringConstant是公共常量字符串字段(不是属性)。我认为只要返回字符串的是服务器端可执行表达式,它就不重要了。返回的愚蠢问题是:MyConstantsClass是静态的吗?不,它会有区别吗?MyStringConstant是public const stringhmm..哪个类中的public const字符串??MyConstantsClass到底是什么?标签所在的页面上是否有公共/受保护的属性?如果您认为调用的属性可能有问题,请尝试Text=''否,这是一个完全独立的类,其中MyStringConstant是公共常量字符串字段(不是属性)。我认为只要返回字符串的是服务器端可执行表达式,它就不重要了。好吧,我必须承认我对它做了一点简化,我不是为标签做的,而是为嵌套在控件中的一些属性做的,我真的不能影响这么多。有没有更简单的方法?当你对这些控件进行数据绑定时,它应该以类似的方式工作?也许可以发布一个更准确的例子?好吧,我必须承认我简化了一点,我不是对标签做的,而是对嵌套在控件中的一些属性做的,我真的不能影响这么大。没有更简单的方法吗?当你对这些控件进行数据绑定时,它应该以类似的方式工作,也许可以给出一个更准确的例子?