0

以下のように、Razor ビューに実装されたアクション リンクがあります。

<input type="hidden" id="format"/>

@Html.ActionLink("Save", "SaveFile", "ExportService", "http", "hrmsapp.mysystem.com", "", new { fileformat = <hidden field value here> }, new { @id = "save" })

パラメータ「fileformat」で、隠しフィールドの値をこのアクション リンクに渡す必要があります。

これを行う方法が見つかりませんでした。「post」メソッドで Html.Form を使用することについて話しているスレッドが多数あります。ただし、別のドメイン hrms.mysystem.com を使用している場合、フォームを使用して投稿する方法がわかりません。この目的のために Html.Form にオーバーロードはありません。

アクション リンク コード自体の非表示フィールドの値を (フォームを使用せずに) 読み取る方法はありますか?

4

2 に答える 2

3
<form action="http://hrmsapp.mysystem.com" method="post">
    <input type="hidden" id="format" name="fileformat" />
    <input type="submit" value="POST to HRMS app" />
</form>

@Html.Form が行うことは、HTML を出力することだけです。使用する必要はありません。別のサーバーを指すアクションを使用して HTML フォームをハードコーディングし、投稿するだけです。

于 2012-08-30T09:40:09.390 に答える
1

jQueryを使用して、プレースホルダー文字列を置き換えることができます。

<input type="hidden" id="format"/>

@Html.ActionLink("Save", "SaveFile", "ExportService", "http", "hrmsapp.mysystem.com", "", new { fileformat = "xxfileformat" }, new { @id = "save" })

<script>
    $(function() {
        $('#save').attr('href', $('#save').attr('href').replace('xxfileformat', $('#format').val()))
    });
</script>
于 2012-08-30T11:07:37.700 に答える