0

我为我正在处理的页面创建了几个可移动的“小部件”(带有文本、图像内容的 DIV)。

用户当前可以在页面上拖动 DIV,在页面卸载时将新位置保存在数据库中。

在 page_load 上,我可以检索每个可移动 DIV 的最近保存的 Top 和 Left CSS 值,并且我想将每个 DIV 设置为其在页面上各自保存的位置。(因此,当用户登录时,DIVS 与他们上次看到的位置相同。)

我的问题是从 C# 代码设置顶部和左侧样式不会影响 DIVS 的位置。设置其他样式,例如背景颜色等一直工作正常,但设置位置没有任何作用。

我从数据库中读取的 Top 和 Left 数字都可以,所以那里没有错误。

这是一个简单的例子:

C# 代码背后

  SearchBox.Attributes.Add("style", "top: 111px;");

  SearchBox.Attributes.Add("style", "left: 144px;");

ASPX

<div id="SearchBox" runat="server"  style="position: absolute; width: 157px; z-index: 100; background-image: url('Images/tagsbox.png'); height: 169px;">

text text text text text text text    

</div>

有人知道为什么职位保持不变吗?

非常感谢

4

3 回答 3

1

感谢大家的回复。我找到了答案——

使用

SearchBox.Attributes.Add("style", "left: 144px;");

行将 SearchBox 的样式代码替换为“left: 144px;”,而不是像我想要的那样添加额外的元素。

使用的正确行是:

SearchBox.Style.Add("left", "144px");

它实际上添加了样式元素而不是替换它们。

于 2013-01-12T10:48:23.893 回答
0

您需要使用客户端语言(例如 jQuery)调整 div 客户端,将值存储在隐藏字段中,然后使用Jquery从服务器的值中重新定位 div

于 2013-01-08T16:35:16.957 回答
0

试着把它放在 ASPX 中:

<%
  int topValue = 111;
  int leftValue = 144;
%>
<div id="SearchBox" runat="server" style="position: absolute; width: 157px; z-index: 100; background-image: url('Images/tagsbox.png'); height: 169px; top: <%= topValue %>px; left: <%= leftValue %>px;"
      text text text text text text text    
</div>

只需设置topValueleftValue从数据库中。

于 2013-01-08T17:57:19.740 回答