0

Razor ビューにはinput type="text"、隠しフィールドとボタンがあります。input type="text"Form コレクションから隠しフィールドにアクセスできますが、アクション内の値にアクセスできないのは奇妙です。私の理解が正しいかどうかはわかりませんが、フォーム内のすべてのフィールドがアクション内で利用可能であるべきだと考えていました。

以下は私のコードです:

   @using (Html.BeginForm())
    {
    <div style="margin-top: 40px;">
    <input id="txtDateFrom" class="span2" size="16" value="@Model.StartDate.ToString("dd/MM/yyyy") " readonly="readonly" type="text">
    @Html.Hidden("currencyCode", (object)ViewBag.currencyCode)
    </div>
    <button onclick="@Url.Action("ExchangeRateDetails", "ExchangeRate")" class="btn btn-lg     span2 ARML50px">
    }

お時間、ご指導、ご協力を賜りますようお願い申し上げます。

4

2 に答える 2

2

非表示の入力が機能する理由は、Html ヘルパー @Html.Hidden の助けを借りてこれをレンダリングするためです。このヘルパーは、name 属性を使用して入力フィールドをレンダリングします。

<input type="text">name 属性がありません。そこで、次のように書いてみてください。

<input id="txtDateFrom" name="txtDateFrom" class="span2" size="16" value="@Model.StartDate.ToString("dd/MM/yyyy") " readonly="readonly" type="text" />

name="txtDateFrom" により、値が FormCollection に表示されます。

于 2013-10-25T06:03:04.650 に答える
1

この方法を試してください

onclick="@Url.Action("ExchangeRateDetails", "ExchangeRate")"ボタンを押す必要はありません

下の方法のボタンを変更します

<button type="submit" class="btn btn-lg span2 ARML50px">

これで、コントローラーは入力テキストを取得できます

[HttpPost]
Public ActionResult ExchangeRateDetails(YourmodelClass xxx)
{
 string dates=Model.StartDate;
}

この Web サイトには、ビューからコントローラーにモデル値を送信する方法について、このページの右隅にある関連するディスカッションを参照して、多くの回答があります。

于 2013-10-25T05:33:29.313 に答える