2013-10-07 20 views
0

我在.aspx文件下面的代碼:AutoPost捕獲造成它的原因。

<asp:TextBox ID="txtSearch" runat="server" Width="278px"></asp:TextBox> 
    <asp:Button ID="btnSearch" runat="server" Text="Search" AutoPostBack="true" /> 

當我點擊btnSearch按鈕,它的的AutoPostBack。

什麼我的目標是,如果btnSearch被點擊,我會然後捕獲txtSearch的價值,否則我就不會

我如何代碼,這樣如果btnSearch被點擊自動過帳我可以舉報。

+0

基本上你想要的默認行爲:如果用戶通過按鈕提交一個表單,表單被髮布到服務器。你不需要autopostback,特別是當一個按鈕不是autopostback時:你點擊它。舉例來說,當用戶填充/改變輸入時,將使用Autopostback進行提交。 –

回答

1

首先,Buttondoes not haveAutoPostBack財產。它始終回傳。

其次,你可以簡單地處理它的Click event並閱讀txtSearch.Text屬性:

<asp:TextBox ID="txtSearch" runat="server" Width="278px"></asp:TextBox> 
<asp:Button ID="btnSearch" runat="server" Text="Search" OnClick="btnSearch_Click" /> 

代碼隱藏:

protected void btnSearch_Click(Object sender, EventArgs e) 
{ 
    string search = txtSearch.Text; 
    // ... 
} 
+0

謝謝蒂姆。我怎麼把這個放在if(Page.IsPostBack){}中。如何判斷btnSearch是否被點擊。 –

+0

@NatePet:爲什麼你需要知道的地方比在按鈕的點擊事件處理程序(以上),它被點擊?我假設你在'Page_Load'中做得太多了。改用適當的事件。並且只有在!!IsPostBack時纔有數據綁定。在ASP.NET開發的十二年中,我從不需要檢查'if(Page.IsPostBack)',反之亦然。 –

相關問題