2011-09-14 5 views
0

ユーザーが特定のLinkBut​​tonをクリックすると、OK/Cancelで確認ダイアログを開く必要があります。ユーザーがOKを押すと、ASP.NET(データベースを更新するためのもの)から関数を実行する必要があります。次...JavaScript内でASP.NET 1.1コードを実行する

Javascriptを

function openConfirm() { 
    return window.confirm("Are you sure you want to do this?"); 
} 

よう

何かASP

<asp:LinkButton runat="server" CommandName="viewPart" onClick="if(openConfirm() === true) <% SomeASPFunctionCall() %>;"> 
    Delete 
</asp:LinkButton> 

キャッチは私のアプリケーションは、ASP.NET 1.1、そのいずれかを実行していることですコントロールにOnClientClickを追加することに関する参照は無関係です(ASP 2.0用にが追加されました)。私は__doPostBackと__eventObjectと__eventArgumentsを介してポストバックを試みましたが、これらは単に機能しないか、それを理解できません。

このようなクライアント側とサーバー側のやり取りの組み合わせをどのように管理すればよいですか。

答えて

1

あなたのLinkBut​​tonは何のIDを持っていないありがとう、あなたはよろしいですか?

myLinkButton.Attributes.Add("onClick", "return window.confirm('Are you sure you want to do this?'"); 

それは擬似コードだが、ビルドする必要があります。このコードを入れPage_PreRender

がそれにIDを入れて、のは、(DこのIDをしてください使用しない) myLinkButtonと呼ばれています想像してみましょうフレームワークとグリッド版ãに応じて、ItemDataBoundまたはRowDataBoundイベントでは、グリッド内の:との仕事は、.NET 1.1で、私が思うに、私は

編集...年代以来、それを使用していませんこのようなものを置く:

private void myDataGrid_ItemDataBound(object sender, DataGridItemEventArgs e) 
{ 
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
    { 
     var myControl = (LinkButton)e.Item.FindControl("myLinkButton"); 

     if(myControl != null) 
     { 
      myControl.Attributes.Add("onClick", "return window.confirm('Are you sure you want to do this?'"); 
     } 
    } 
} 
+0

なぜなら、LinkBut​​tonがIDを持たないのは、それがDataGrid内のリピータコントロール(具体的にはTemplateColumn)内にあるからです。 CSSセレクターのような動的に作成されたリンクボタンに対処する方法はありますか? – danyim

+0

はい、私の回答を編集しても、TemplateItemの中にIDを持つことができます。 –

+0

ありがとうございました! – danyim

関連する問題