簡単に言えば@RenderPage
、より大きな CSHTML 内で使用してレンダリングされた部分的な CSHTML に 2 つの要素があります。1 つはドロップダウン、もう 1 つは href です。(以下の部分的な CSHTML を参照してください。)
ユーザーがドロップダウンから別の名前を選択すると、jqueryメソッドが起動され、次のように数値がページに.change()
ポスト ( ) されます。.ajax()
@{
var ajax = Request["picked"];
}
<div id="pt_picker">
@Html.DropDownList("PTPICKER", ...)
</div>
<div id="switcherlink">
@{
@Html.ActionLink("Go", "StartFlow", "Person", new { pid = @ajax, redirectUrl = "InSession" }, null)
}
</div>
<script type="text/javascript">
$(document).ready(function () {
$('#PTPICKER').change(function () {
$.ajax(
{
url: window.location.pathname,
type: 'POST',
data: { picked: $("#PTPICKER").val() },
success: function (result) { alert("ok"); },
error: function (result) { alert("not ok"); }
}
);
});
});
</script>
デバッガーを使用すると、数値がポストされ、それを評価できます。デバッガーは、新しい値で Html.ActionLink 行を再度ヒットしたように見えます。しかし、結果のページには、「pid」の古い値を持つ href が表示されます。
何か案は?前もって感謝します!