发生异步PostBack时,TextBox的Text属性为空

时间:2018-02-13 10:59:16

标签: c# asp.net webforms postback site.master

我看了很多帖子,我觉得我疯了,因为我尝试过的任何东西似乎都没有用。我只想点击一个按钮并检索文本框的值。

我正在使用带有site.master的网络表单,所以不确定这是否会影响问题,但我见过的大部分解决方案似乎都没有使用site.master。

我没有绑定文本框,最初我只是想创建一个联系表单。

import xlwt

bk_2_to_5 = ["filename2", "filename3", "filename4", "filename5"]

for  b in bk_2_to_5:
    book = xlwt.Workbook()
    sheet = book.add_sheet("data", cell_overwrite_ok=True)             
    book.save('New' + b  + '.xls')
<%@ Page Title="About" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="About.aspx.cs" Inherits="Blackburn_Pulse.About" %>

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
    <script>$("#menuAbout").addClass("navi-active");</script>

    <div class="contentBody">
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
                <asp:TextBox ID="tb_Test" EnableViewState="true" CausesValidation="false" runat="server"></asp:TextBox>
                <asp:LinkButton ID="btn_Test" runat="server" OnClick="btn_Test_Click" Text="send test" />
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="btn_Test" EventName="click" />
            </Triggers>
        </asp:UpdatePanel>
    </div>
</asp:Content>

更新: site.master.cs

public partial class About : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        this.Page.Master.EnableViewState = true;

        if (IsPostBack)
        {
            var test_var = tb_Test.Text; //returning empty
        }
    }

    protected void btn_Test_Click(object sender, EventArgs e)
    {
        var test_var = tb_Test.Text; //returning empty
    }
}

1 个答案:

答案 0 :(得分:0)

我正在将PHP网站转换为ASP.net网站。事实证明我在搜索框上有另一个HTML表单标签,我还没有开始工作。

不幸的是,如果您有另一个表单标记,调试器不会抛出错误,所以其他任何人只是花了几个小时的时间搜索,仔细检查您没有多于1个表单标记!

在我的site.master.aspx文件中,我有一个搜索框如下:

<form method="post" action="?">
    <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
    <button class="btn btn-outline-primary my-2 my-sm-0" type="submit">Search</button>
</form>

一旦我拿出额外的表格标签,一切正常。