ASP.NET MVC页面上的Ajax.Beginform出错

时间:2010-03-09 01:00:21

标签: asp.net-mvc asp.net-ajax

我正在使用Ajaxy Call来加载局部视图。它在Firefox和IE中运行良好,没有在调试模式下。 但是在调试模式下,我遇到了以下错误:

错误:'系统'未定义

Ajaxy电话代码:

 <% using (Ajax.BeginForm("SearchResults", new AjaxOptions { UpdateTargetId = "divLoadSearchResults" } ))
{%>

HTML View Source对应于此:

<form action="/Home/SearchResults" method="post" onclick="***Sys.***Mvc.AsyncForm.handleClick(this, new Sys.UI.DomEvent(event));" onsubmit="Sys.Mvc.AsyncForm.handleSubmit(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, updateTargetId: 'divLoadSearchResults' });">

我正在使用MVC RC2框架。任何人都有与RC2类似的问题?

如果它不在调试模式下,它工作正常。同样,如果我使用调试模式或CTRL + F5运行它,它会显示错误。

感谢您的回复。

1 个答案:

答案 0 :(得分:3)

在调试模式下,它听起来没有加载MicrosoftMvcAjax.js或MicrosoftAjax.js文件。检查包含这些文件的位置,并确保没有任何条件将其排除。如果您在不调试时使用内容传送网络加载它,请确保在调试时加载的路径中的路径是正确的。

例如:

<% if (debug) { %>
     <script type="text/javascript"
             src="<%= Url.Content( "~/scripts/MicrosoftAjax.debug.js" ) %>">
      </script>
      <script type="text/javascript"
              src="<%= Url.Content( "~/scripts/MicrosoftMvcAjax.debug.js" ) %>">
      </script>
<% }
   else { %>
      <script type="text/javascript"
              src="http://ajax.microsoft.com/ajax/mvc/1.0/MicrosoftAjax.js">
      </script>
      <script type="text/javascript"
              src="http://ajax.microsoft.com/ajax/mvc/1.0/MicrosoftMvcAjax.js">
      </script>
<% } %>