我有一个div元素,我想从代码中改变它的dir属性。
问题是我无法在div上设置runat=server
属性,因此无法从代码中访问它。
使用asp.net,c#,framework 4.0。
有什么想法吗?
感谢。
答案 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。