1

我的 asp.net 应用程序中有一个 ModalPopup 窗口,我想在单击 Listview 控件项时显示该窗口。

 <div id="ModalPopup" style="visibility:hidden" runat="server">
  <div style="position: absolute; width: 100%; height: 100%; z-index: 10002; background-color: Gray; filter: alpha(opacity=70); opacity: 0.7;">
    &nbsp;
  </div>
  <table style="position: absolute; width: 100%; height: 100%; z-index: 10003;">
    <tr>
      <td align="center" valign="middle">
        <div style="color: Black; font-weight: bolder; background-color: White; padding: 15px; width: 200px;">
          <asp:Image ID="Image4" runat="server" ImageUrl="~/Images/ajax-loader.gif" />...Processing....
        </div>
      </td>
    </tr>
  </table>
  </div>  

但是,在我的RadListView1_SelectedIndexChanged事件中,我的代码是:ModalPopup.Attributes.Add("style", "visibility:visible"); 但不显示模式弹出窗口。

选择 ListView 项目时如何显示它?

4

1 回答 1

1

由于您已经将ModalPopupdiv 定义为服务器控件(例如runat=server,并且您正在尝试决定是否在代码隐藏中显示它- 只需使用该Visible属性...

 <div id="ModalPopup" Visible="false" runat="server">
   ....
 </div>

在您的RadListView1_SelectedIndexChanged事件中,只需将 Visible 更改为 true:

protected void RadListView1_SelectedIndexChanged()
{
    ModalPopup.Visible = true;
}

如果您坚持更改可见性属性本身,则可以像这样使用RegisterStartupScript

protected void RadListView1_SelectedIndexChanged()
{
    ClientScript.RegisterStartupScript(this.GetType(), "ShowPopup", "document.getElementById('" + ModalPopup.ClientID + "').style.visibility = 'visible';", true);
}
于 2013-03-05T23:33:52.460 回答