2017-03-27 1 views
0

div内にメッセージを表示するjavascriptがあります。 IDを渡すと、メッセージを表示する場所がわかります。同じページに2回表示されるユーザーコントロールには、javacriptのユニークなdiv IDが必要です

これらのdivは、ページに複数回表示されるユーザーコントロール内にあります。 最初のdivにメッセージが表示されています(これは最初のIDと同じです).INamingContainerはjavascriptがページ全体をスキャンして最初に一致するIDを見つけるため、ここで助けになりません。

?私は、動的に各ユーザーコントロールのIDを設定する必要がありますか?私はmultitpleメッセージのdivのを持っており、ちょうど後ろの各ユーザーコントロールに示されているものを制御するのに有効/ユーザーコントロールのコードからそれらを無効にすることができます方法はありますか?

Javascriptを

function ShowMessage(message, messagetype, id) { 
var cssclass; 
switch (messagetype) { 
    case 'Success': 
     cssclass = 'alert-success'; 
     break; 
    case 'Error': 
     cssclass = 'alert-danger'; 
     break; 
    case 'Warning': 
     cssclass = 'alert-warning'; 
     break; 
    default: 
     cssclass = 'alert-info'; 
} 
$(id) 
    .html('<div id="alert_div" style="margin: 0; -webkit-box-shadow: 3px 4px 6px #999;" class="alert fade in ' + cssclass + '"><a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a><strong>' + messagetype + '!</strong> <span>' + message + '</span></div>'); 

$(id) 
    .fadeTo(4000, 500) 
    .slideUp(800, 
     function() { 
      $(id).slideUp(500); 
     }); 

}

そして、私のUC

<div class="col-xs-10"> 
          <div> 
           <div class="messagealert alert alert-small" id="spec_gv_alert"> 
           </div> 
          </div> 
         </div> 

そして、どのようにJavaScriptはあなたがパネルサーバーコントロールを使用することができます

 Protected Sub ShowMessage(message As string, messageType as string, alertId As string) 
     ScriptManager.RegisterStartupScript(Page, Page.GetType(), Guid.NewGuid().ToString(), 
              "ShowMessage('" + message + "','" + messageType + "','" + alertId + 
              "');", True) 
    End Sub 

答えて

1

背後にあるコードから呼び出される内。 ASP.Netは、すべてのサーバーコントロールが一意のIDを持つことを確認します。例えば

<asp:Panel runat="server" ID="Panel1" CssClass="messagealert alert alert-small"> 
</asp:Panel> 

レンダリングされたHTML

<div id="Panel1" class="messagealert alert alert-small"> 
</div> 
+0

は、どのように私は後ろのユーザーコントロールのコードからJavaScriptにユニークなパネルIDを渡すのですか?だからIF(IsStabilityTest)ShowMessage( "blah"、Error、PanelID)私はIDが生成されるまでそれを知らないだろうか? –

+1

そうですね。関連するコードをアップロードできますか? – Win

+0

どの部分が必要ですか?私はすべての関連するコードが問題にあると思います。 –

関連する問題