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

通过C#代码隐藏动态更改DIV位置,c#,asp.net,css,html,C#,Asp.net,Css,Html,我已经为我正在处理的页面创建了几个可移动的“小部件”(带有文本、图像内容的div) 用户当前可以在页面上拖动div,并在页面卸载时将新位置保存在数据库中 在page_load上,我可以检索每个可移动DIV最近保存的顶部和左侧CSS值,并且我希望将每个DIV设置为其在页面上各自保存的位置。(因此,当用户登录时,div与上次看到它们的位置相同。) 我的问题是设置C代码中的顶部和左侧样式不会影响div的位置。设置其他样式(如背景色等)效果良好,但设置位置没有任何作用 我从数据库中读取的最上面和左边的数

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

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

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

我的问题是设置C代码中的顶部和左侧样式不会影响div的位置。设置其他样式(如背景色等)效果良好,但设置位置没有任何作用

我从数据库中读取的最上面和左边的数字都正常,因此没有错误

下面是一个简单的例子:

C#代码隐藏

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

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


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


非常感谢

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

尝试将其放入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>


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

使用

SearchBox.Attributes.Add("style", "left: 144px;");
这行代码将搜索框的样式代码替换为“left:144px;”,而不是像我预期的那样添加额外的元素

要使用的正确行是:

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

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

C#代码背后是服务器端代码。如果你期望在帖子出现之前发生任何事情,那你就是在让自己失望。编写一些javascript,或者使用jQuery。世界需要更多的jQuery。该div的客户端HTML是什么?你能在这里发帖吗?@RobertHarvey-这通常是正确的,因为
top
left
值在页面加载时是已知的,所以应该可以将它们包含在显示的原始标记中。
SearchBox.Style.Add("left", "144px");