如何从aspx页面重定向到另一个aspx页面的方法

问题描述:

我在aspx页面表单中有一个删除按钮,当我点击它时我想被重定向到另一个aspx页面中的特定方法来执行这是删除方法在具有gridview删除该行的页面中。我怎么能在WebForms的asp.net c#中做到这一点?谢谢如何从aspx页面重定向到另一个aspx页面的方法

+0

你想点击该按钮时通过JavaScript做重定向或该按钮是否会导致回发并让代码执行重定向? (或者是可能的) –

+0

我想通过JavaScript重定向。该按钮不会导致回发。 – ITDeveloper

+1

使用window.open(AnotherPage.aspx?IdToDelete = 123)和AnotherPage.aspx Page_Load编写一个重定向的javascript(只是一个示例),查找传递的QueryString并调用您想要执行的Delete方法。不要忘记重新绑定GridView。 – kaushalparik27

传统上,客户端浏览器无法直接调用ASP.NET Web Form中的特定方法。

但是,你可以做一个Web方法,并作出这样的呼吁 -

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
     <button type="button" onclick="postData();">Post Data</button> 
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"> 
     </script> 
     <script type="text/javascript"> 
      function postData() { 
       var user = { id: 123 }; 
       $.ajax({ 
        type: "POST", 
        url: '<%= ResolveUrl("~/default.aspx/delete") %>', 
        data: JSON.stringify(user), 
        contentType: "application/json", 
        success: function (msg) { 
         console.log(msg.d); 
        } 
       }); 
      } 
     </script> 
    </form> 
</body> 
</html> 

代码隐藏

public partial class Default : System.Web.UI.Page 
{ 
    [System.Web.Services.WebMethod] 
    public static string Delete(string id) 
    { 
     // Do something 
     return new JavaScriptSerializer().Serialize(id + " is successfully deleted"); 
    } 
}