从代码中访问div元素

时间:2011-07-16 20:19:36

标签: c# asp.net html

我有一个div元素,我想从代码中改变它的dir属性。 问题是我无法在div上设置runat=server属性,因此无法从代码中访问它。

使用asp.net,c#,framework 4.0。

有什么想法吗?

感谢。

5 个答案:

答案 0 :(得分:4)

如果您不想将div设置为runat="server",那么您可以执行以下操作:

<div dir='<%= GetDir() %>'>
    Your text
</div>

在后面的代码中,您可以使用以下代码设置方向:

if(You Condition)
        {
            return "ltr";
        }
        else
        {
            return "rtl";
        }

答案 1 :(得分:1)

是的,您无法访问页面上的客户端元素,只能访问服务器 - (asp.net是面向服务器的框架)。客户端控件被编译为Literal控件,其中包含html。

如果您不想为div属性设置runat="server",则可以register client script修改您的div内容。
如果您设置runat="server"属性,并为其设置ID="YOUR_DIV_ID_HERE",则可以通过YOUR_DIV_ID_HERE名称下的代码访问该属性。

答案 2 :(得分:1)

如果你想要,你也可以这样做

<div><%= your server variable %> </div>

答案 3 :(得分:0)

使用Jquery并回调函数来调用服务器端函数。

答案 4 :(得分:0)

您可以在HTML元素上设置runat =“server”属性。刚做了一个本地演示,工作得很好。它将表示为HtmlGenericControl(http://msdn.microsoft.com/en-us/library/7512d0d0(v = VS.100).aspx)。

编辑:你说你不能使用runat =“server”从代码中访问元素。我不确定为什么这会是一个问题,因为html渲染应该没有什么不同。也许它与客户端id beeing改变的元素有关?如果你依赖于此,你可以尝试为你的div设置ClientIdMode = Static。