0

我在 Asp.net(带有 c#)页面上有 2 个文本框,我无法从 cs 类中看到这些字段。

在 aspx 中:

 <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
   <ajaxToolkit:ToolkitScriptManager runat="server"></ajaxToolkit:ToolkitScriptManager>

<div>
<table>
<tr>
   <td style="width:40%"> <asp:Label ID="lblFullname" runat="server" Text="Fullname" ></asp:Label></td>
   <td style="width:20%"> </td>
   <td style="width:40%"> 
       <asp:TextBox ID="txtFullname" runat="server"></asp:TextBox>
    </td>
</tr>
<tr>
   <td style="width:40%"> <asp:Label ID="lblBirthDate" runat="server" Text="BirthDate" ></asp:Label></td>
   <td style="width:20%"> </td>
   <td style="width:40%">
      <asp:TextBox ID="txtBirthDate" runat="server" Text="" ></asp:TextBox> 
      <ajaxToolkit:MaskedEditExtender ID="MaskedEditExtenderBirthDate" TargetControlID="txtBirthDate" runat="server" 
      UserDateFormat="DayMonthYear" Mask="99/99/9999" MaskType="Date" ></ajaxToolkit:MaskedEditExtender>
   </td>
</tr>
<tr><td colspan="3" style="float:right"><asp:Button Text ="Save"  runat="server" ID="btnSave" OnClick="btnSave_Click"/> </td></tr>
</table>
</div>

我试图从 txtFullname 中获取值。我尝试 txtFullname.Text 和 this.txtFullname 但应用程序看不到这个值。有人可以如何获得该文本框的值吗?

4

4 回答 4

1

表标签缺少 runat="server" 属性。将其添加到标签中。您应该能够看到cs文件中的字段

于 2012-10-15T10:59:14.883 回答
1

请检查您是否正确指定了代码隐藏文件名。这可能是无法在代码文件中获取控件名称的问题之一。

如果这对您不起作用,请使用以下代码作为参考。

您没有包含您的“注册”指令。所以,我有幸给予我自己的。

将您的标记更改为:

<%@ Page Title="Home Page" Language="vb" MasterPageFile="~/Site.Master" AutoEventWireup="false"
    CodeBehind="Default.aspx.vb" Inherits="WebApplication2._Default" %> 
   <%@ Register TagPrefix="asp" Namespace="AjaxControlToolkit" Assembly="AjaxControlToolkit" %>
        <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="Server" />
    <div>
        <table>
            <tr>
                <td style="width: 40%">
                    <asp:Label ID="lblFullname" runat="server" Text="Fullname"></asp:Label>
                </td>
                <td style="width: 20%">
                </td>
                <td style="width: 40%">
                    <asp:TextBox ID="txtFullname" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td style="width: 40%">
                    <asp:Label ID="lblBirthDate" runat="server" Text="BirthDate"></asp:Label>
                </td>
                <td style="width: 20%">
                </td>
                <td style="width: 40%">
                    <asp:TextBox ID="txtBirthDate" runat="server" Text=""></asp:TextBox>
                    <asp:MaskedEditExtender id="MaskedEditExtenderBirthDate" targetcontrolid="txtBirthDate"
                        runat="server" userdateformat="DayMonthYear" mask="99/99/9999" masktype="Date"></asp:MaskedEditExtender>
                </td>
            </tr>
            <tr>
                <td colspan="3" style="float: right">
                    <asp:Button Text="Save" runat="server" ID="btnSave" OnClick="btnSave_Click" />
                </td>
            </tr>
        </table>
    </div>
</asp:Content>

此代码已经过测试并且正在运行。

于 2012-10-15T11:03:35.100 回答
0

您是在母版页还是页面文件中尝试?它应该与runat="server"

于 2012-10-15T10:45:38.920 回答
0

您的代码显示您正在使用必须使用母版页的内容页。所以你应该检查以下事情来解决这个问题。

  1. 您的页面必须包含类似于以下的 Page 指令。<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

  2. 代码隐藏文件名必须正确,如页面 Default.aspx 和 Default.aspx.cs

  3. 您必须使用 runat="server" 使控制在服务器端可访问。

于 2012-10-15T12:58:48.437 回答