0

ボタンで関数を呼び出すときに別のページにリダイレクトしたい

<button id="test" runat="server" onclick="Button1_Click()"> Button here </button>

ここに私のボタンアクション

protected void Button1_click(Object sender, EventArgs e)
 {
    int ID = 0;
   Label5.Visible = false;

   ID = Convert.ToInt32(GridView1.Rows[row.RowIndex].Cells[1].Text);


  // somthing like 
  // Server.Transfer("~/Producter/Delete?id="+ id)
  // OR
  Response.Redirect("~/Producter/Delete?id="+ ID);

 }
4

5 に答える 5

2

通常の html ボタンを使用しているため、クリックすると、分離Button1_Click()コードではなくクライアント側で実行されます。

ボタンを次のように変更します。

<asp:Button ID="test" runat="server" OnClick="Button1_Click" Text="Button here" />
于 2013-04-27T07:47:50.963 に答える
0

これを試して;

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
     $('#test').on('click', function(e){
        e.preventDefault();
         //using jquery, you must import jquery library for it
        $('#buttonHidden').click();
     }
</script>
// your button here to call javascript
<button id="test" runat="server"> Button here </button>
// the hidden button just to hold the Button1_Click which is fired from fireClick()
<asp:Button ID="buttonHidden" runat="server" Style="display: none" OnClick="Button1_Click" />

コードビハインドもこのように修正してください。

protected void Button1_Click(Object sender, EventArgs e)
 {
    int ID = 0;
   Label5.Visible = false;

   ID = Convert.ToInt32(GridView1.Rows[row.RowIndex].Cells[1].Text);


  // somthing like 
  // Server.Transfer("~/Producter/Delete?id="+ id)
  // OR
  Response.Redirect("~/Producter/Delete?id="+ ID);

 }
于 2013-04-29T05:57:25.207 に答える
0

関数 Button1_Click() のボタンへのバインドに問題がある可能性があります。Button1 の OnClick プロパティをチェックして、関数 Button1_Click() にリンクしていることを確認してください。

于 2013-04-27T08:17:13.653 に答える
0

あなたの Button1_Click 関数は正しいです。オブジェクトから呼び出す方法が間違っていると思います。

どちらかを使用する必要があります

 <asp:Button ID="btn_test" runat="server" OnClick="Button1_Click" Text="Button" />

 protected void Button1_click(Object sender, EventArgs e)
 {
 int ID = 0;
 Label5.Visible = false;

 ID = Convert.ToInt32(GridView1.Rows[row.RowIndex].Cells[1].Text);
 Response.Redirect("~/Producter/Delete?id="+ ID);

 }

または、html ボタン オブジェクトを使用して、以下のような webmethod を呼び出す必要があります

 <script>
 $(document).ready(function () {
     $('#test').click(function(){
         $.ajax({
                    type: "POST",
                    url: "Profile.aspx/update_phone",
                    data: "{'ProfessionalID':''}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function () { }
                });
     });
 });
 </script>
 <button id="test" runat="server"> Button here </button>

 [webmethod]
 public static void Button1_click(Object sender, EventArgs e)
 {
  ....
  Response.Redirect("~/Producter/Delete?id="+ ID);

 }
于 2013-04-27T08:21:13.983 に答える
0

これを試して

Response.Redirect("~/Producter/Delete?id="+ ID,false);
于 2013-04-29T05:29:54.030 に答える