1

MVCは初めてなので、ご容赦ください。

私がやろうとしているのは、1ページで、ユーザーが2つのテキストフィールドに値を入力し、[送信]ボタンをクリックすると、wcfサービスが呼び出され、wcf呼び出しが検証済みの値を返す場合、別のページにリダイレクトして、返された値を表示する必要がありますwcf呼び出しから。

私はこのようなビューを作成しました-

      <input type="text" name="txtUniqueCode" value="@Model.UniqueCode" placeholder="unique identifier" />
            <label for="name">
                Vehicle Registration
            </label>
            <input type="text" name="txtRegistration" value="@Model.Registration" placeholder="Registration" />

            <a href="@Url.Action("ShowRepairDetails", "RepairDetails", new { uniqueCode = Model.UniqueCode, registration = Model.Registration })">Check Status</a>

ユーザーがテキストボックスに値を入力した後、[ステータスの確認]をクリックするとすぐに、Url.Actionを使用して値をコントローラーに渡そうとしています。しかし、コントローラーのパラメーター値をデバッグして確認すると、nullとして返されます。理由がわからない??

以下のurl.Actionのようにパラメータ値を静的な値に置き換えてみました-

  @Url.Action("ShowRepairDetails", "RepairDetails", new { uniqueCode = 1234, registration = "Test" })

それはうまく機能していました、私はコントローラー側でパラメーター値を正しく受け取っていました。したがって、ユーザーがテキストボックスに値を入力した後でも、「モデル」オブジェクトが更新されないことがわかりました。ここに何かが足りません。助けていただけませんか。

よろしくお願いします
サイ

4

1 に答える 1

1

ここでのワークフローを誤解しているようです。コード内のリンクは、ページがクライアントに送信される前にサーバーによって計算されます。ユーザーが後でテキスト ボックスに入力した値を使用する方法はありません。そのためには、送信アクションを含むフォーム、または HTML 要素の値を抽出してサーバーに送り返す AJAX 呼び出しが必要です。

于 2012-05-24T17:16:23.620 に答える