0

Asp.net (with 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

コードビハインドファイル名が正しく指定されているか確認してください。これは、コードファイル内でコントロール名を取得できない場合の問題の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 に答える
1

table タグに runat="server" 属性がありません。タグに追加します。cs ファイルのフィールドを確認できるはずです。

于 2012-10-15T10:59:14.883 に答える
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 に答える