使用此代码,我在屏幕的左下角收到IE页面加载错误

时间:2010-10-08 19:31:07

标签: javascript asp.net jquery asp.net-mvc

我在我看来有这个代码..

<div>
<input type="button" value="Cancel" id="btnCancel" onclick="window.location.href='../Reviewer'" />&nbsp;<input type="submit" value="Save" id="btnSave" onclick="saveCreateHeader()"/><input type="button" style="margin-left:50px;" id="btnNextStep" value="Next Step"   onclick="window.location.href='../CostSharingQuestionsIndex/<%=Model.ProductTemplateID %>')"/> 
</div>

由于此代码,我收到页面加载错误?这有什么问题吗? 这是我在IE中得到的错误

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; GTB6.5; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.2; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; AskTbF-ET/5.8.0.12304)
Timestamp: Fri, 8 Oct 2010 19:30:36 UTC


Message: Expected ';'
Line: 273
Char: 21
Code: 0
URI: http://localhost:25973/ProductTemplate/CreateHeaderIndex/42567


Message: Expected ';'
Line: 273
Char: 58
Code: 0
URI: http://localhost:25973/ProductTemplate/CreateHeaderIndex/42567

3 个答案:

答案 0 :(得分:3)

首先,我会在这里采用一种完全不同的方法,使用锚点并根据需要设置样式,但使用其原生的<a href="url">行为,例如:

<a href="../CostSharingQuestionsIndex/<%=Model.ProductTemplateID %>">Next Step</a>

对于为什么它不起作用:您的上一个onclick处理程序如下所示:

onclick="window.location.href='../CostSharingQuestionsIndex/<%=Model.ProductTemplateID %>')"

字符串中有一个额外的),它应该如下所示:

onclick="window.location.href='../CostSharingQuestionsIndex/<%=Model.ProductTemplateID %>'"

有了它,它正试图解析......好吧,我不确定它会怎么想,但它不漂亮,因此你看到的错误。

答案 1 :(得分:1)

<input type="button" style="margin-left:50px;" id="btnNextStep" value="Next Step"   
onclick="window.location.href='../CostSharingQuestionsIndex/<%=Model.ProductTemplateID %>')"/>

我不明白为什么在最后一次onclick中有一个结束括号。这可能会导致您的错误。

答案 2 :(得分:0)

我首先要清理标记并使用适当的元素来尊重HTML语义。

<div>
    <!-- You want a redirect here so use anchor, eventually style it with CSS -->
    <%= Html.ActionLink("Cancel", "Reviewer", null, new { id = "btnCancel", @class = "btnCancel" }) %>

    <input type="submit" value="Save" id="btnSave" />

    <!-- You want a redirect here so use anchor, eventually style it with CSS -->
    <!-- Notice the usage of routes here to avoid hardcoding urls -->
    <%= Html.ActionLink("Next Step", "CostSharingQuestionsIndex", new { id = Model.ProductTemplateID }, new { id = "btnNextStep", @class = "btnNextStep" }) %>
</div>

最后一件事就是这个提交按钮。看来你正在调用一个可以不引人注意地附加的javascript函数:

$(function() {
    $('#btnSave').click(function() {
        saveCreateHeader();
    });
});

或者,这是一个提交按钮,您可以直接使用此按钮所属表单的提交事件。如果它不属于表单,则不应使用提交按钮。

所有这一切都是说如果你使用的是ASP.NET MVC和jquery,你可以更好地利用它。