asp.net - 为什么 CssStyleCollection.Remove() 在这里失败了?

标签 asp.net css updatepanel

我触发了以下事件处理程序以响应 UpdatePanel 内的 LinkBut​​ton 回发。

    protected void rptImages_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        //selection is only ItemCommand
        string ID = (string)e.CommandArgument;

        imgEdit.Style.Remove(HtmlTextWriterStyle.Display); //make the img visible
        imgEdit.ImageUrl = GetImageURL(ID);
    }

更新 ImageUrl 属性工作正常。但是样式属性的“显示”部分仍然存在。在调试器中观察,集合的 Keys 和 Value 属性根本没有改变。就好像对 Remove() 的调用被简单地忽略了一样。

我之前像这样添加了 Display style 标签:

imgEdit.Style.Add(HtmlTextWriterStyle.Display, "none");

...这很好用。如果我立即删除样式(与上面相同的代码),就像测试一样,那也有效。但是相同的代码在事件处理程序中没有完成任何事情。

我在这里错过了什么?

最佳答案

您不必使用添加/删除方法,您可以通过直接访问集合元素来更改样式,例如:

imgEdit.Style["Display"] = "block";

关于asp.net - 为什么 CssStyleCollection.Remove() 在这里失败了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19437625/

相关文章:

javascript - 在新窗口中使用 jquery 显示从 Controller 返回的 PDF 流

javascript - jQuery AJAX 与 UpdatePanel

javascript - 使用倒数计时器自动刷新页面

c# - 使用 asp.net 使用下一个、上一个按钮和显示总页数的分页 gridview

c# - 如何显示当前登录网站的用户

jquery - Bootstrap 3.0 的 DropDown 登录表单

html - 如何在 Bootstrap 中命名 div 类以在外部 CSS 中编辑它们

javascript - AddThis.com - 脚本管理器

asp.net - 处理程序 "PageHandlerFactory-ISAPI-4.0_32bit"在其模块列表中包含错误模块 "IsapiModule"

javascript - 更改 CSS3 变换值?