我看了很多帖子,我觉得我疯了,因为我尝试过的任何东西似乎都没有用。我只想点击一个按钮并检索文本框的值。
我正在使用带有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
}
}
答案 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>
一旦我拿出额外的表格标签,一切正常。