【发布时间】:2011-03-16 06:20:04
【问题描述】:
我正在使用 VS2010,MVC3。
我有以下 jQuery 脚本,在单击按钮后,控制器中有一个 ActionResult 将页面的 PDF 版本流式传输到新窗口。
但是,会发生以下情况:
当页面第一次呈现时,我收到警报:“in hereb1”和 actionUrl 的正确 url 值。
第一次单击该按钮时,我收到警报“in hereb2”和“未定义”作为 url 的值,并打开一个新窗口,显示未定义资源的错误。
第三次单击该按钮时,我会收到“in 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>
谢谢
【问题讨论】:
标签: jquery jquery-ui asp.net-mvc-3 jquery-events