2009-08-13 7 views
3

私はgridviewを持っています。その中の1つの行をクリックすると、このようなjavascriptに移動する必要があります。私は問題はjavascriptのある分離コードに次のコードjavascriptからcodebehindのコードに移動するには

protected void btnDet_Click(object sender, EventArgs e) 
    { 
     if (hidRowNo.Value != "") 
     { 
      int rowNo = Convert.ToInt32(hidRowNo.Value); 
      TextBox1.Text = GridView1.Rows[rowNo].Cells[0].Text; 
      TextBox2.Text = GridView1.Rows[rowNo].Cells[1].Text; 
      TextBox3.Text = GridView1.Rows[rowNo].Cells[2].Text; 
     } 
    } 



    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      e.Row.Attributes.Add("onclick", "GetDetails(" + e.Row.RowIndex + ");"); 
     } 
    } 

を書かれている

 <script type="text/javascript" language="javascript"> 
      function GetDetails(rowNo) 
      { 
       document.getElementById('hidRowNo').value = rowNo 
       document.getElementById('btnDet').click(); 
      } 
     </script> 

は作業が、のdocument.getElementById( 'btnDet')されます)(クリックしてください。デバッグ中にも、コントロールがbtnDet_Clickに移動していません。何を変更するかは、コントロールをbtnDel_Clickのコードの背後に移動するために含める必要があります。

誰でも手伝いできますか?

答えて

3

document.getElementById('btnDet').click(); 

を交換するあなた...

ClientScriptManager.GetPostBackEventReference(btnDet) 

このここmsdn article

を確認してくださいしかし、あなたのコードは動作するはずです。

ボタンを直接クリックしましたか?これは機能しますか?

+0

これもonsubmitイベントを発生させます。 ClientScriptManager.GetPostBackEventReferenceメソッド(http://msdn.microsoft.com/en-us/library/ms153112.aspx)を使用して、将来の間違いの可能性を減らすことができます。 – klashar

+0

urコードを試したときにオブジェクトが期待通りに表示されていました。 – user42348

+0

Page.GetPostBackEventReference(btnDet)がPublic関数としてエラーを表示しようとしましたPage.GetPostBackEventReference(btnDet)が廃止されました – user42348

0

btnDelボタンのonclickイベントが生成されたように見えます。しかし、このボタンが含まれている提出フォームには発射されませんでした。

__doPostBack('btnDet','OnClick'); 

の代わりに、サーバ側ページのLoadイベントで

document.getElementById('btnDet').click(); 

については、ちょうどこのコードを追加何

document.forms[0].fireevent('onsubmit'); 
関連する問題