无法修改Controls集合,因为控件包含代码块(即<%...%>)。
我们需要在遇到问题时访问.aspx页面中的c#变量
请指导我们?
答案 0 :(得分:20)
如果您提供有关您尝试做的更多详细信息会有所帮助,但您可以尝试这样做:
首先在aspx
标记protected
中创建要访问的所有变量。
然后在page_load方法中,调用DataBind();
然后在你的标记中你可以这样做:
<%# VariableName %>
“<%=
”序列只能在服务器控件的某些上下文中使用。序列“<%#
”用于DataBound控件,可以在ASPX页面标记的任何上下文中使用。调用DataBind();
允许您(几乎)在页面的任何位置使用它。
答案 1 :(得分:0)
您需要页面上可以绑定数据的内容。将该对象绑定到它的数据源,然后您可以在.aspx中对其执行“Eval”。
例如,如果您已将控件(可能在代码隐藏中)绑定到具有名为“Author”的属性的对象,则可以按以下方式显示它:
<asp:TableRow ID="trwMsgAuthor" runat="server">
<asp:TableCell ID="TableCell2" runat="server" Width="1in">Author:</asp:TableCell>
<asp:TableCell runat="server" ID="celMsgAuthor"><%#Eval("Author")%></asp:TableCell>
</asp:TableRow>
此示例中的表是Accordion控件的一部分,其中“.DataSource”属性设置为对象的通用列表,其中“Author”是其中一个属性。
答案 2 :(得分:0)
在变量public或protected后面声明C#代码,然后在<% %>
块中使用它。
例如<%= strMyCodebehindvariable%>
或<%# strMyCodebehindvariable%>
。如果您使用的是第二个选项,则必须在页面加载中调用DataBind()
方法。
答案 3 :(得分:0)
在您的ASPX中,<asp:literal runat=server>
对<%=x %>
代码进行{{1}}控制。