【问题标题】:Databinding to a property?数据绑定到属性?
【发布时间】:2010-05-27 20:30:52
【问题描述】:

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

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

预览是我页面上的一个属性。

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

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

想法?

【问题讨论】:

    标签: asp.net javascript data-binding


    【解决方案1】:

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

    相反,您想使用ASP.NET Data Binding,它使用不同的语法,例如:&lt;%# %&gt;。 (注意“#”)。然后,要渲染此代码,您必须在准备好用实际数据替换模板时调用某些服务器端控件的 DataBind()。

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

    Preview = someString;
    previewDiv.DataBind();
    

    在您的标记中,类似这样的内容:

    <div runat=server id="previewdiv"><%#Preview%></div> 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-19
      • 1970-01-01
      • 2016-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-11
      • 1970-01-01
      相关资源
      最近更新 更多