2016-10-18 4 views
0

グッドモーニングは、私はその上にボタンパッドでWebページを持っている

ファイルの後ろにコードでアクセス 値をカント。これは悪いネットワークのガソリンスタンドで使用されるので、ボタンをクリックするたびにテキストボックスに数値を追加して、永久に読み込み、ボタンのクリックをjavascriptに変更しました。

これは完全に機能しますが、テキストボックスから値を取得するとコードビハインドが空の値(Not null)になります。

これは、テキストボックス とテキストボックス

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="OVKWEBAPP.WebForm1" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 

    <title></title> 

    <link rel="stylesheet" type="text/css" href="mainstyle.css" /> 
    <style type="text/css"> 
    .modal 
    { 
     position: fixed; 
     top: 0; 
     left: 0; 
     /*background-color: black;*/ 
     z-index: 99; 
     opacity: 0.8; 
     filter: alpha(opacity=80); 
     -moz-opacity: 0.8; 
     min-height: 100%; 
     width: 100%; 
    } 
    .loading 
    { 

     font-family: Arial; 
     font-size: 10pt; 
     border: 5px solid #67CFF5; 
     width: 200px; 
     height: 100px; 
     display: none; 
     position: fixed; 
     background-color: White; 
     z-index: 999; 
    } 
</style> 

</head> 
<body> 
    <form id="form1" runat="server"> 
     <asp:TextBox ID="txtRknr" runat="server" CssClass="txtBoxRknr" PlaceHolder="Rekening Nommer" Enabled="False" autocomplete="off" Width="175px"></asp:TextBox> 
     <input type="button" id="btnPad1" runat="server" value="1" class="buttonsb" onclick="input(this);"/> 
     <input type="button" id="btnPad2" runat="server" value="2" class="buttonsb" onclick="input(this);"/> 
     <asp:Button ID="btnMsg1" runat="server" Text="Gaan Voort" CssClass="buttonsa" OnClick="btnMsg1_Click" /> 
    </form> 
</body> 

<script type="text/javascript">  
function input(e) { 
     document.getElementById("<%=txtRknr.ClientID %>").value = document.getElementById("<%=txtRknr.ClientID %>").value + e.value; 
    } 
    </script> 
</html> 

に番号を追加するために使用

ボタン私のコードであり、これはファイルの後ろにコード内で

 protected void btnMsg1_Click(object sender, EventArgs e) 
     { 
      lblError.Text = ""; 
      //string user = txtRknr.Text; 
      string user = ((TextBox)FindControl("txtRknr")).Text; 
      if(user == "") 
      //if (txtRknr.Text == "") 
      { 
       lblError.Text = "ONGELDIGE REKENING NOMMER"; 
       return; 
      } 
} 

私のコードです基本的には、ウェブサイトのボタンパッドからテキストボックスにアカウント番号を追加するだけです。

アカウントが追加された後、[続行]ボタンをクリックすると、テキストボックスが空でない場合はコードビルトがチェックされ、空でない場合はデータベースに接続して有効かどうかを確認します。

しかし、テキストボックスに何個の数字を追加しても、それはコードの背後からアクセスするとまだ空です。

+0

なぜFindControlを使用していますか?コントロールはページ内にあり、別のコントロール内にあるようには見えません –

+0

TextBoxを無効にしました: 'Enabled =" False "'。 – VDWWD

答えて

5

Enabled="False"は、あなたの入力フィールドがdisabled属性を持っていることを意味します。無効なフォーム要素はHTMLフォームでポストされません。つまり、コードビハインドからアクセスすると、テキストボックスのデフォルト値が使用されます。

フィールドを手で編集したくない場合は、Enabled="False"の代わりにReadOnly="True"を試してください。

EDIT

私はASP.NETは、あなたが何をしようとしている正確に何をやってからあなたを防ぐために、ReadOnly=Trueテキストボックスから値を読み取るできないように思います。 <asp:HiddenField><input type="hidden">を作成します。値を書き込んでコードビハインドに正しく投稿できるようにする必要があります。

+1

のフォームの値にアクセスするのにうまくいくこの答えを提案してください。また、OPが本当にHTMLを使いこなすことについての不快感があるならば、TextBoxをLabelに変更することもできます。 –

+0

Joe Enos。私はEnabled = "false"を削除し、ReadOnly = "True"を追加しました –

+0

私はまだ同じ問題を抱えていました。しかし、私は読み取り専用とそれを有効にした両方を削除した。しかし、ウェブサイトはテーブル上で使用されているので、テキストボックスが選択されたときにテーブルキーボードがポップアップしないように、読み取り専用のようなものが必要です。 これまでのご協力ありがとうございます –

-3

これを試してください。

Request.Form["by-name-attribute"]; 
+0

OPはフォームの投稿された値にコードでアクセスしたかったので、Enable = "false"属性に気づくことができませんでした。だから、コードビハインドファイル – masif

関連する問題