我正在使用Web表单应用程序中的服务器端控件。在此,我将html元素和服务器端元素附加到表单的侧面(ASP:content),但它附加到该页面的正文上。在服务器端(在按钮中单击)控件的值/文本返回null。当控件保存在ASP外:content tag时,是否有任何具体原因返回null。
我知道它的可能不在表单内,但为什么我不只是在服务器端事件中发布值以进行进一步处理感谢您的建议在下面,我将文本框添加到页面上。通过脚本将我附加到身体标签上。现在检查服务器端的返回null
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="CheckboxIssue._Default" %>
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<script>
$("#MainContent_TextBox2").appendTo("body");
</script>
}
服务器端
protected void btn_Click(object sender, EventArgs e)
{
var text1 = TextBox1.Text;
}
他们称其为Web forms 是有原因的。这个概念是将服务器控件保留在表单内,并在用服务器端处理程序的UI事件上将其张贴回去。因此,如果您使用的是WebForms,则必须遵循该规则。
您可能会在呈现的表格外放置控件,但是ASPX引擎不会在寄发后选择其值。