1

ASP.NET で id を文字列に分割して、html 要素のプロパティにアクセスする方法はありますか? これは、JavaScript を使用して配列のように番号付きの一連の ID を循環させる方法を指しています。

たとえば、次のようにすると、Div1 から Div10 を配列のように扱うことができます。

document.getElementByID("Div" + i).innerhtml  

これに関する情報や、Google検索で質問する方法が見つからないようです。

この種のことが不可能な場合は、他にどのようにこれを行うことができるかについて、いくつかの例を聞きたいと思います. JavaScriptで私が言及したタイプのメソッドを多くの人が使用していると確信しているため、答えが見つからないことに驚いています.

更新: コードの例を示すためにしばらくお待ちください。これは自明だと思っていましたが、そうではないようです...ちなみにこれはVBです。

誰かjavascriptをタグ付けしてくれました!! これはasp.net VBです。

この基本的な例で十分ですか?

sub exampleProcedure()
    For i = 1 to 10
        document.getelementbyid("Div" & i).innerHTML = "A String"
        if i = 5 then
            document.getelementbyid("Div" & i).innerHTML = "This is Div5"
        end if
    next
end sub

ああ、それは VbScript で動作することを言及する価値があるかもしれません (大学で作業しなければならなかったのは残念でした!)。

4

2 に答える 2

2

id を反復処理する場合。次に、まず、html 要素を次のようにする必要がrunat="server"あります。次に、次の 2 つのいずれかを実行できます。

  • Id 内部の if 条件を使用して、メイン フォーム コントロールを反復処理できます。
  • .FindControl("ControlId")メインコンテナ、つまりフォームのコントロールのループで行うことができます

何かのようなもの :

   For i As Integer = 0 To 5
        Dim control As HtmlGenericControl
        control = Me.FindControl("div" + i.ToString())
        If (Not (control Is Nothing)) Then
            'your logic
        End If
    Next

ただし、このループはトップレベルのコントロール、つまりページに直接存在するコントロールのみを認識します。つまり、別の div 内の div は見つかりません。

そのためには再帰ループが必要です。このリファレンスを参照してください。それはあなたにアイデアを与えるはずです。

私は C# 開発者であり、VB の手がかりはありません。しかし、私はあなたが正しい考えを持っていると思いますか?

于 2013-03-13T15:11:17.720 に答える
0

IDプレフィックスが「Div」のdiv内のhtmlを読みたいと思います

jquery を使用して簡単に実行できます。

for(var i=0;i<10;i++)
$('Div'+i).html();//this will give you all html within Div0,Div1....Div9

お役に立てれば

于 2013-03-13T15:27:13.810 に答える