我使用VS2010,MVC3。
我有以下jQuery腳本,點擊一個按鈕後,在控制器流中有一個ActionResult頁面的pdf版本到新窗口。
但是,這裏發生了什麼:
當頁面第一次呈現時,我得到警報:「hereb1」和actionUrl的正確url值。
第一次點擊按鈕時,我得到警告「在hereb2」和「undefined」作爲url的值,並打開一個新窗口,出現未定義資源錯誤。
第三次點擊按鈕時,我得到「hereb2」中的警報和正確的url值(與actionUrl的值相同),並打開一個新窗口並顯示預期結果。沒有錯誤。
爲什麼第一次點擊無法訪問actionUrl的正確值?點擊一個按鈕沒有得到綁定正確的第一次點擊,但正確綁定第二次點擊
<script type="text/javascript">
$(document).ready(function() {
alert("in hereb1");
var actionUrl = '@MvcHtmlString.Create(Html.BuildUrlFromExpressionForAreas<MyController>(c => c.GeneratePdf(Request.Url.ToString())))';
alert(actionUrl);
$("#btnPdf").click(function() {
var url = $(this).attr("href");
$(this).attr("href", actionUrl);
alert("in hereb2");
alert(url);
var win = window.open(url, "PdfVersion");
win.focus();
return false;
});
});
</script>
感謝
這並沒有工作,但我還是謝謝你。然而,這篇文章的第一個答案奏效了。 – FZF 2011-03-17 16:50:22