解决方法:
程序的相关介绍
主界面:未发货订单列表(http://localhost:18888/Order/UnfilledOrdersList.aspx)
子界面:订单详细信息(http://localhost:18888/Order/ViewOrderDetail.aspx?OrderId= id,其中id的值是在主界面中被选中的那条订单信息的id)
主页面为一个订单的主要信息,GridView中有一个HyperLink控件,通过它可以跳转到“订单详细信息”界面进而查看订单的详细信息。
子界面有一个“返回”Button,通过它跳转回主界面。
最初在返回按钮中的程序为:
复制代码 代码如下:
#region 返回按钮
protected void btnReturn_Click(object sender, EventArgs e)
{
string url = Request.QueryString["Url"] == null ? "" : Request.QueryString["Url"].ToString();
Response.Redirect(url);
}
#endregion
经过调试,url得到的值总为空字符串,即url总为"",所以总是返回不到主界面。
查了资料后,我把程序改为:
复制代码 代码如下:
//在页面加载事件中所加的代码
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
/******下面的代码一定要放在判断是否是回发事件中,否则仍得不到效果******/
if (Request.UrlReferrer != null)
{
ViewState["retu"] = Request.UrlReferrer.ToString();
}
}
}
#region返回按钮
protected void btnReturn_Click(object sender, EventArgs e)
{
string url = ViewState["retu"].ToString() == null ? "" : ViewState["retu"].ToString();
Response.Redirect(url);
}
修改后的代码,经调试,url = http://localhost:18888/Order/UnfilledOrdersList.aspx,即主界面的地址,因此能正确返回到主界面。
程序解释:用户通过客户端浏览器请求页面,页面第一次运行,语句"ViewState["retu"] =Request.UrlReferrer.ToString();”获取了该请求的上一个页面的URL。之所以将该语句放在"if (!IsPostBack){}"语句快中,是因为当用户输入信息、从可选项中进行选择或单击按钮后,页面可能再次被发送到Web服务器,在ASP.NET中被称为“回发”。更确地的说,页面发送会其自身。因此语句"ViewState["retu"] =Request.UrlReferrer.ToString();”仅需在首次请求页面时执行,而不是每次回发时都执行,这时用Page对象的IsPostBack属性来避免对往返行程执行不必要的处理。
在"if (!IsPostBack){}"处下断点调试时可以清楚得看到这一过程。
插曲:ASP.NET中LinkButton和HyperLink的区别
因为存在主界面向子界面跳转的问题,需要链接,LinkButton和HyperLink都可以实现,查了些资料,最后我选择了HyperLink,因为只是简单的跳转无需进行服务器端处理。在此介绍一下LinkButton和HyperLink的区别:
1)LinkButton支持回发,在服务器端处理页面跳转功能,将用户导航到目标URL。因此可以在链接到新页面前做一些处理,入检验输入,组合成新的URL等。 HyperLink不会回发到服务端,不能进行服务器端的处理。
2) LinkButton控件实现页面跳转是在Click事件中使用Response.Redirect等方法实现的。HyperLink只需设置NavigateUrl就可以实现页面跳转,
用法上最大的区別是 LinkButton有Click事件﹐而HyperLink沒有。
程序的相关介绍
主界面:未发货订单列表(http://localhost:18888/Order/UnfilledOrdersList.aspx)
子界面:订单详细信息(http://localhost:18888/Order/ViewOrderDetail.aspx?OrderId= id,其中id的值是在主界面中被选中的那条订单信息的id)
主页面为一个订单的主要信息,GridView中有一个HyperLink控件,通过它可以跳转到“订单详细信息”界面进而查看订单的详细信息。
子界面有一个“返回”Button,通过它跳转回主界面。
最初在返回按钮中的程序为:
复制代码 代码如下:
#region 返回按钮
protected void btnReturn_Click(object sender, EventArgs e)
{
string url = Request.QueryString["Url"] == null ? "" : Request.QueryString["Url"].ToString();
Response.Redirect(url);
}
#endregion
经过调试,url得到的值总为空字符串,即url总为"",所以总是返回不到主界面。
查了资料后,我把程序改为:
复制代码 代码如下:
//在页面加载事件中所加的代码
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
/******下面的代码一定要放在判断是否是回发事件中,否则仍得不到效果******/
if (Request.UrlReferrer != null)
{
ViewState["retu"] = Request.UrlReferrer.ToString();
}
}
}
#region返回按钮
protected void btnReturn_Click(object sender, EventArgs e)
{
string url = ViewState["retu"].ToString() == null ? "" : ViewState["retu"].ToString();
Response.Redirect(url);
}
修改后的代码,经调试,url = http://localhost:18888/Order/UnfilledOrdersList.aspx,即主界面的地址,因此能正确返回到主界面。
程序解释:用户通过客户端浏览器请求页面,页面第一次运行,语句"ViewState["retu"] =Request.UrlReferrer.ToString();”获取了该请求的上一个页面的URL。之所以将该语句放在"if (!IsPostBack){}"语句快中,是因为当用户输入信息、从可选项中进行选择或单击按钮后,页面可能再次被发送到Web服务器,在ASP.NET中被称为“回发”。更确地的说,页面发送会其自身。因此语句"ViewState["retu"] =Request.UrlReferrer.ToString();”仅需在首次请求页面时执行,而不是每次回发时都执行,这时用Page对象的IsPostBack属性来避免对往返行程执行不必要的处理。
在"if (!IsPostBack){}"处下断点调试时可以清楚得看到这一过程。
插曲:ASP.NET中LinkButton和HyperLink的区别
因为存在主界面向子界面跳转的问题,需要链接,LinkButton和HyperLink都可以实现,查了些资料,最后我选择了HyperLink,因为只是简单的跳转无需进行服务器端处理。在此介绍一下LinkButton和HyperLink的区别:
1)LinkButton支持回发,在服务器端处理页面跳转功能,将用户导航到目标URL。因此可以在链接到新页面前做一些处理,入检验输入,组合成新的URL等。 HyperLink不会回发到服务端,不能进行服务器端的处理。
2) LinkButton控件实现页面跳转是在Click事件中使用Response.Redirect等方法实现的。HyperLink只需设置NavigateUrl就可以实现页面跳转,
用法上最大的区別是 LinkButton有Click事件﹐而HyperLink沒有。
风云阁资源网 Design By www.bgabc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
风云阁资源网 Design By www.bgabc.com
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
2024年10月03日
2024年10月03日
- 纪钧瀚《钢琴阅读时光 雨中书店聆听轻音乐》[FLAC/分轨][399.62MB]
- 证声音乐图书馆《走向自然 疗心爵士乐》[320K/MP3][87.4MB]
- 证声音乐图书馆《走向自然 疗心爵士乐》[FLAC/分轨][184.94MB]
- 陈慧娴.2018-Priscilla-Ism演唱会3CD(2024环球红馆40复刻系列)【环球】【WAV+CUE】
- 郑秀文.1999-我应该得到(国)【华纳】【WAV+CUE】
- 陈家慧.2011-钢琴酒吧2CD【龙吟唱片】【WAV+CUE】
- 证声音乐图书馆《雨季 蓝调吉他 Rainy Blues》[320K/MP3][45.01MB]
- 证声音乐图书馆《雨季 蓝调吉他 Rainy Blues》[FLAC/分轨][109.13MB]
- 赞多《序章》[320K/MP3][45.54MB]
- 许巍.2004-每一刻都是崭新的【步升大风】【WAV+CUE】
- 群星.2024-四方馆影视原声带【韶愔音乐】【FLAC分轨】
- 陈雷.1997-安锁咧【金圆唱片】【WAV+CUE】
- 关淑怡.2013-MY.FAVORITE.SK.3CD【环球】【WAV+CUE】
- Sweety.2006-花言乔语【丰华】【WAV+CUE】
- 李恕权.2003-回·20年全精选2CD【SONY】【WAV+CUE】