通过C#代码隐藏动态更改DIV位置

时间:2013-01-08 16:26:01

标签: c# asp.net css html

我创建了几个可移动的小部件" (我带有文字,图像内容的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>

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

非常感谢

3 个答案:

答案 0 :(得分:1)

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

使用

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

line正在用“left:144px;”替换SearchBox的样式代码,而不是像我原先想要的那样添加其他元素。

使用的正确行是:

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

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

答案 1 :(得分:0)

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

答案 2 :(得分: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

相关问题