2011-07-16 10 views
3

私はコードからdir属性を変更したいdiv要素があります。 問題は、divにrunat=server属性を設定できないため、コードからアクセスできないことです。コードからdiv要素にアクセス

asp.net、c#、framework 4.0を使用しています。

ありがとうございました。

+3

なぜrunat = "server"を設定できないと思いますか?私はWebFormsを覚えているので、それは可能です(型なしのHtmlControlオブジェクトが得られます)。 – oryol

+0

私はこのdivのグリッドアンガーを持っており、このグリッド上でループし、グリッド上のものを変更します。このdivがrunat = serverに設定されていると、このループはうんざりしてしまいます。理由は分かりません。 –

+0

@ Itay.B:次に、別の質問をして、divのrunat = serverがグリッド上のループを壊す原因を調べることをお勧めします。 – Heinzi

答えて

4

はそうあなたが次の操作を行うことができ、あなたがこれを行うことができますしたい場合は

1

はい、ページ上のクライアント要素にアクセスすることはできません。サーバー上のクライアント要素にのみアクセスできます(asp.netはサーバー指向のフレームワークです)。クライアントコントロールは、htmlを含むLiteralコントロールにコンパイルされます。

runat="server"属性にdivを設定しない場合は、register client scriptと入力してdivコンテンツを編集できます。
runat="server"属性を設定し、それにID="YOUR_DIV_ID_HERE"を設定すると、YOUR_DIV_ID_HEREという名前のコードからアクセスできます。

0

Jquery関数とコールバック関数を使用してサーバー側の関数を呼び出します。

0

HTML要素にrunat = "server"属性を設定できます。ちょうど地元のデモを行った、うまく動作します。これはHtmlGenericControl(http://msdn.microsoft.com/en-us/library/7512d0d0(v=VS.100).aspx)として表されます。

EDIT:runat = "server"を使用してコードから要素にアクセスすることはできません。なぜhtmlレンダリングも違うはずがないので、なぜそれが問題になるのかわかりません。おそらく、それはクライアント側のIDが変更された要素と関係がありますか?これに依存している場合は、自分のdivのClientIdMode = Staticを設定してみてください。

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

と背後にあるコードでは:あなたはrunat="server"へのdivを設定しない場合も

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

次のコードを使用して方向を設定できます。

if(You Condition) 
     { 
      return "ltr"; 
     } 
     else 
     { 
      return "rtl"; 
     } 
関連する問題