数据绑定到属性?

时间:2010-05-27 20:30:53

标签: asp.net javascript data-binding

我使用以下语法绑定到div元素:

<div id="previewdiv"><%=Preview%></div>

预览是我页面上的属性。

问题在于我是在onclick事件的新页面上用Javascript创建的。在服务器端,我可以通过此属性引用新页面但由于某些原因,当页面回发时,变量被设置为默认的初始化值而不是我在页面中设置的值,即预览=字符串。当我第二次回发时,页面将使用我设置的值进行更新。

我或许可以将代码移动到Init,但我需要从控件中获取值以初始化此属性。

想法?

1 个答案:

答案 0 :(得分:2)

您遇到的问题是,使用传统的ASP.NET Web窗体,<%= %>代码会在您的代码有机会运行之前的页面生命周期的早期进行评估。

相反,您希望使用ASP.NET Data Binding,它使用不同的语法,如下所示:<%# %>。 (注意“#”)。然后,要使此代码呈现,当您准备用实际数据替换模板时,必须调用某些服务器端控件的DataBind()。

因此,在您的服务器代码中,您可以执行以下操作:

Preview = someString;
previewDiv.DataBind();

在你的标记中,有这样的东西:

<div runat=server id="previewdiv"><%#Preview%></div> 
相关问题