无法获取文本框值

时间:2012-10-15 10:41:35

标签: c# asp.net

我在Asp.net(带有c#)页面上有两个文本框,我无法从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 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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>

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

答案 2 :(得分:0)

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

一起使用

答案 3 :(得分:0)

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

  1. 您的页面必须包含类似于以下内容的Page指令。 &lt;%@ Page Title =“主页”语言=“C#”MasterPageFile =“〜/ Site.master”AutoEventWireup =“true” CodeFile =“Default.aspx.cs”Inherits =“_ Default”%&gt;

  2. Codebehind文件名必须正确,如页面Default.aspx和Default.aspx.cs

  3. 必须使用runat =“server”才能在服务器端访问控件。