我有一个带有以下代码的aspx.cs文件
protected void Page_Load(object sender, EventArgs e)
{
//Some code
}
protected void Removeabc(object sender, EventArgs e)
{
//Some code
}
在Removeabc的最后一行,我想重新加载页面并再次调用Page_Load。请帮我说明如何做到这一点。
答案 0 :(得分:2)
要重新加载页面,请使用
Response.Redirect(Request.Url.ToString())
它将在重新加载时调用Page_Load。
答案 1 :(得分:1)
您可以使用
Response.Redirect(Request.RawUrl);
它会将您重定向到同一页面并调用Page_Load()。
答案 2 :(得分:0)
您应该将该逻辑包装到可以从两个处理程序调用的第三个方法中:
protected void Page_Load(object sender, EventArgs e)
{
//Some code
DoSomeCleverStuff();
}
protected void Removeabc(object sender, EventArgs e)
{
//Some code
DoSomeCleverStuff();
}
private void DoSomeCleverStuff() {
// Clever stuff
}
最好不要将重要的逻辑/代码放入C#中的事件处理程序中。将核心逻辑提取到另一个方法或类中,以便代码可以在整个类/应用程序的其他地方重用。
答案 3 :(得分:0)
您可以使用Response.Redirect(Request.Url.ToString())
重定向到此页面,或者如果您只想执行Page_Load
中的代码,则可以致电Page_Load(null,null)