0

重複の可能性:
MVC3 のテキスト ボックスの透かし

HTMLコードを基本的なhtmlからhtmlヘルパーとHtml.TextBoxForを使用するように切り替えています...

これは私の古いコードです

<input type="text" disabled="disabled" value="Phone" name="Phone" id="cust-cellphone" class="tonedDown" />

そしてこれが新バージョン

@Html.TextBoxFor(x => x.Customer.Phone_Personal, new { @class = "text-adr-fld tonedDown", @value = "Phone", @disabled = "disabled" })

Value プロパティがなくなったことを除いて、すべて正常に動作しています。つまり、テキストボックス内のデフォルトの事前定義された値として表示されていないということです。Placeholder を使用できると読みましたが、IE9 では動作しないようです (クライアントからの要件です)。

問題は、IE9 で動作する TextboxFor メソッドに入力 Value プロパティを追加するにはどうすればよいかということです。

編集:何らかの回避策があるかもしれません。これに関する私の本来の目的は、「値のようなプレースホルダー」、つまりユーザーがテキストボックスに入力することになっているものを示すデフォルト値を表示することです。たとえば、電話番号を処理するテキストボックスには、ユーザーがクリックして値を入力するまで「電話」と表示する必要があります。

これを行う別の方法を知っている人はいますか (「プレースホルダー」と「値」を除く)。

4

2 に答える 2

1

モデルにデフォルト値を設定すると、コードが機能します。それ以外の場合は、使用してみてください

    @Html.TextBox("Phone_Personal", "Phone", new { @class = "text-adr-fld tonedDown", @disabled = "disabled" }).

TextBoxFor を使用したい場合は、

   $(document).ready(function(){
      $("#Phone_Personal").val("Phone"); // replace Phone_Personal with the ID of the textbox
   });
于 2012-10-10T10:10:22.400 に答える
0

モデルを View メソッドに渡していないと思います:

 return View(model);

または、モデルが null です。

于 2012-10-10T10:18:46.830 に答える