繁体   English   中英

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

[英]Change DIV position dynamically through C# code-behind

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

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

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

我的问题是从C#代码设置顶部和左侧样式不会影响DIVS的位置。 设置其他样式(例如背景色等)一直可以,但是设置位置无济于事。

我从数据库中读取的左上角数字都可以,因此没有错误。

这是一个简单的示例:

背后的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>

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

非常感谢

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

使用

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

这行代码是用“ left:144px;”替换SearchBox的样式代码,而不是像我原本打算的那样添加其他元素。

正确使用的行是:

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM