MVC2 Ajax表单执行不需要的页面刷新

时间:2010-06-16 19:45:02

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

我对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"/>
<% } %>

现在,如果我点击提交按钮,页面正在重新加载,goint到mysite / controller / action。 我认为Ajax.BeginForm的默认行为完全不是这样做的? 哪里是我的新手错误?

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

public class MainChatController : Controller
{
    [AcceptVerbs(HttpVerbs.Post)]
    public EmptyResult SendMessage(FormCollection formValues)
    {
        return new EmptyResult();
    }

}

2 个答案:

答案 0 :(得分:3)

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

<script type="text/javascript" src="<%= Url.Content("~/scripts/MicrosoftAjax.js") %>"></script>
<script type="text/javascript" src="<%= Url.Content("~/scripts/MicrosoftMvcAjax.js") %>"></script>

答案 1 :(得分:0)

<% using (Ajax.BeginForm("SendMessage", "MainChat", new{}, new AjaxOptions {  UpdateTargetId="test", HttpMethod="POST"})) %>