我使用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