2015-06-22 24 views
-1

我對ASP.NET很新,我一直在閱讀一些與此相關的問題,但我仍然無法弄清楚我的代碼有什麼問題,我有一個使用列表(ul和li項目)創建頂部菜單的default.aspx頁面,並將<a href="">標記創建到其他頁面的鏈接,但在跟隨另一個頁面的鏈接後,Page_Load事件在離開頁面,我明白這將是Response.Redirect的預期行爲,但我不知道如何避免使用標籤(如果可能),這是我用於Default.aspx頁面的標記:Page_Load當連接到另一個頁面時觸發asp.net

<ul id="lista"> 
    <li><a href="Default.aspx"><strong>Inicio</strong></a></li> 
    <li><a href="Items.aspx"><strong>Item</strong></a></li> 
    <li><a href="IKs.aspx"><strong>IK</strong></a></li> 
    <li><a href="#"><strong>Acerca de</strong></a></li> 
</ul> 

這就是我爲Page_Load創建的代碼:

protected void Page_Load(object sender, System.EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     ExcelUtility excel = new ExcelUtility(); 
     dtDefault = excel.LeerExcel(); 
     gridResults.DataSource = dtDefault; 
     gridResults.DataBind(); 
     gridResults.VirtualItemCount = dtDefault.Rows.Count; 
    } 
} 

基本上,我想做的是跟隨鏈接到其他頁面,而在離開之前加載默認頁面,希望我說清楚!

編輯:這一現象的根本原因是其在身體部分的開頭默認<form runat="server">標籤,這是造成Page_Load事件中,一旦鏈接相同的頁面再次發射了被點擊,放置超鏈接外的表單標籤做了訣竅。

+0

你讀過什麼PostBacks以及如何以及爲什麼事情發生在回傳..每當一個頁面被稱爲它的Page_Load事件將被觸發..所以不知道你正在嘗試做什麼 – MethodMan

+0

嗨MethodMan,是,我已閱讀關於回發,但我不明白這是如何與超鏈接相關的,如果我在Default.aspx頁面中並且我想要去Items.aspx,那麼Default.aspx的Page_Load方法在執行之前請求Items.aspx頁面,我想要避免這種情況,只需轉到Items.aspx –

+0

如果您閱讀了回發並瞭解重定向,那麼您將理解我的評論。 – MethodMan

回答

0

您的HTML代碼應該位於某個HTML標記或包含屬性runat="server"的自定義ASP控件中。這應該會向服務器發出一個PostBack請求。

相關問題