代码之家  ›  专栏  ›  技术社区  ›  Sparhawk

MVC2 Ajax窗体不需要刷新页面

  •  2
  • Sparhawk  · 技术社区  · 15 年前

    我对MVC很陌生。我这里有我的第一个Ajax表单:

    <div id="test"></div>
    <div id="MainChatMenu">
    <% using (Ajax.BeginForm("SendMessage", "MainChat", new AjaxOptions {  UpdateTargetId="test"}))
    { %>
      <input id="chatMessageText" type="text" maxlength="200"  />
    <input type="submit" value="Go"/>
    <% } %>
    

    现在,如果我单击提交按钮,页面将重新加载,转到mysite/controller/action。 我认为ajax.begininform的默认行为完全不是这样做的? 我的新手哪里出错了?

    我的控制器调用正确,但数据传递也不起作用。可能是因为同样的错误? 代码如下:

    public class MainChatController : Controller
    {
        [AcceptVerbs(HttpVerbs.Post)]
        public EmptyResult SendMessage(FormCollection formValues)
        {
            return new EmptyResult();
        }
    
    }
    
    2 回复  |  直到 15 年前
        1
  •  3
  •   Darin Dimitrov    15 年前

    确保已包含必要的脚本库:

    <script type="text/javascript" src="<%= Url.Content("~/scripts/MicrosoftAjax.js") %>"></script>
    <script type="text/javascript" src="<%= Url.Content("~/scripts/MicrosoftMvcAjax.js") %>"></script>
    
        2
  •  0
  •   Gregoire    15 年前
    <% using (Ajax.BeginForm("SendMessage", "MainChat", new{}, new AjaxOptions {  UpdateTargetId="test", HttpMethod="POST"})) %>