我创建了几个可移动的小部件" (我带有文字,图像内容的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>
有人知道为什么这个职位保持不变吗?
非常感谢
答案 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>
只需从数据库中设置topValue
和leftValue
。