|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果英语好,口才好,加上女孩子的优势说不定有机会进去做做别的工具)办理办法:
程序的相干先容
主界面:未发货定单列表(http://localhost:18888/Order/UnfilledOrdersList.aspx)
子界面:定单具体信息(http://localhost:18888/Order/ViewOrderDetail.aspx?OrderId=id,个中id的值是在主界面中被选中的那条定单信息的id)
主页面为一个定单的次要信息,GridView中有一个HyperLink控件,经由过程它能够跳转到“定单具体信息”界面进而检察定单的具体信息。
子界面有一个“前往”Button,经由过程它跳转回主界面。
最后在前往按钮中的程序为:
复制代码代码以下:
#region前往按钮
protectedvoidbtnReturn_Click(objectsender,EventArgse)
{
stringurl=Request.QueryString["Url"]==null?"":Request.QueryString["Url"].ToString();
Response.Redirect(url);
}
#endregion
经由调试,url失掉的值总为空字符串,即url总为"",以是老是前往不到主界面。
查了材料后,我把程序改成:
复制代码代码以下:
//在页面加载事务中所加的代码
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!IsPostBack)
{
/******上面的代码必定要放在判别是不是是回发事务中,不然仍得不到效果******/
if(Request.UrlReferrer!=null)
{
ViewState["retu"]=Request.UrlReferrer.ToString();
}
}
}
#region前往按钮
protectedvoidbtnReturn_Click(objectsender,EventArgse)
{
stringurl=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就能够完成页面跳转,
用法上最年夜的区e是LinkButton有Click事务o而HyperLink]有。你觉得数据库怎么样? |
|