2009-12-21 52 views
0

我有一個母版頁,並已包括一個搜索文本框。回覆通過MasterPage - ASP.Net,c#

用戶是上的Default.aspx

用戶在搜索文本框中,這是主頁的一部分的搜索值。

通過JavaScript,MP中的表單被提交到我的搜索功能頁面search.aspx和search.aspx.cs後面的代碼獲取表單發佈並獲取數據。

Search.aspx有一個裸露的骨骼表來顯示結果。

我在search.aspx.cs中有一個斷點,能夠看到從數據庫返回的原始結果。所有的數據綁定已發生之後。但是,用戶不會從Default.aspx的指向search.aspx

+0

你可以把你的一些代碼/標記的位置 – 2009-12-21 15:25:28

+0

一般JS不應加以依賴,使用它作爲最後的手段。永遠不要使用JS的關鍵網站功能,或者至少有一個非客戶端依賴的備份功能... – Alex 2009-12-21 15:53:03

回答

1

不要使用任何JavaScript提交表單,只是你的搜索按鈕的PostBackUrl屬性設置爲Search.aspx

<asp:TextBox ID="TxtSearch" runat="server" /> 
<asp:LinkButton 
    ID="BtnSearch" 
    runat="server" 
    PostBackUrl="Search.aspx" 
    Text="Search" /> 

而在Search.aspx的Page_Load閱讀張貼的值:

protected void Page_Load(object sender, EventArgs e) 
{ 
    string searchText = Request["TxtSearch"]; 
} 
+0

Darin:爲什麼POstBackURL工作,而不是JavaScript – ltech 2009-12-21 15:40:05

+0

我還沒有看到你使用的JavaScript,所以它是困難的回答。 – 2009-12-21 15:41:24

+0

這裏是js的帖子: 函數DoSearch(SearchString) { document.forms ['TestForm']。Search.value = SearchString; alert('This is working so far ..'); document.forms ['TestForm']。submit(); } – ltech 2009-12-21 15:44:12