我需要用数据库查询中的几十个属性填充一个 aspx 页面。我知道如何做的是在后面的代码中将属性分配给控件的 Text 属性,如下所示:
protected void Page_Load(object sender, EventArgs e)
{
string param = Request.QueryString["param"];
// p will have dozens of properties
M.P p = new M.P(param);
aLabel.Text = p.aProperty;
anotherLabel.Text = p.anotherProperty;
在 aspx 代码中:
<asp:Label ID="aLabel" runat="server"></asp:Label>
<asp:Label ID="anotherLabel" runat="server"></asp:Label>
我想做的是直接在aspx页面中绑定属性,而不需要在后面的代码中进行赋值,如下所示:
protected void Page_Load(object sender, EventArgs e)
{
string param = Request.QueryString["param"];
M.P p = new M.P(param);
this.DataBind();
Value of the aProperty: <%# p.aProperty %>
Value of the anotherProperty: <%# p.anotherProperty #>
但是我错过了一些重要的东西,因为编译器给了我错误The name 'p' does not exist in the current context
。如何让它发挥作用?