Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在.NETMVC4中使用AJAX的第一天,它没有';行不通_Asp.net Mvc_Asp.net Mvc 3_Asp.net Mvc 4 - Fatal编程技术网

Asp.net mvc 在.NETMVC4中使用AJAX的第一天,它没有';行不通

Asp.net mvc 在.NETMVC4中使用AJAX的第一天,它没有';行不通,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,仍在努力解决这个问题,以下是我的工作流程: 单击submit后,jquery将发送一个post请求来调用该方法 方法返回部分视图 显示在零件上 以下是表单视图: //SignUp.cshtml: <div id ="messageForm"> @using (Ajax.BeginForm("SignUp", "MVP", new AjaxOptions { Confirm = "Are you sure you want to send this message?",

仍在努力解决这个问题,以下是我的工作流程:

  • 单击submit后,jquery将发送一个post请求来调用该方法
  • 方法返回部分视图
  • 显示在零件上
  • 以下是表单视图:

    //SignUp.cshtml:
    <div id ="messageForm">
    
    @using (Ajax.BeginForm("SignUp", "MVP", new AjaxOptions
    {
    
        Confirm = "Are you sure you want to send this message?",
        HttpMethod = "Post",                                 
        InsertionMode = InsertionMode.Replace,                                 
        LoadingElementId = "loading",                                 
        UpdateTargetId = "messageForm"
    })) {
    
          @Html.AntiForgeryToken();
        @Html.ValidationSummary(true)
    
        <fieldset>
            <legend>
                messageModel
    
            </legend>
    
             <p>
                <input type ="submit" value ="Send Message" />
            </p>
    
        </fieldset>
    
    以下是视图文件夹中的局部视图:

    谢谢。cshtml:

    非常感谢您!我们稍后会与您联系
    
    测试时,我没有看到确认对话框,它重定向到感谢页面

    有人能告诉我为什么会这样吗?

    你有:

    @using (Ajax.BeginForm("ThankYou", "MVP", new AjaxOptions
    
    我认为这应该是:

    @using (Ajax.BeginForm("SignUp", "MVP", new AjaxOptions
    

    第一个字符串是操作名称,您在控制器中只有
    注册

    控制器方法称为注册,而Html.AjaxForm中的操作是“ThankYou”,您确定它有效吗?我添加了一个答案,假设您有错误?问题中没有任何说明这一点?您的标记(如嵌套表单)中是否有任何有趣的地方,因为它听起来似乎不是异步提交的表单?您是否在布局/视图中引用了
    jquery.unobtrusive ajax.js
    文件?因为要使
    Ajax.BeginForm
    工作,需要此文件…@LifeScript,所以您需要在布局或视图中包含
    的脚本。默认的mvc项目模板中不包含此文件,您需要手动添加它,它与您的web.config无关。我更改了它,但仍然相同problem@LifeScript,什么是
    MVCView
    ?视图是强类型的吗,我在视图中看不到多少?另外,您是否缺少ajax的JS文件?
    @using (Ajax.BeginForm("ThankYou", "MVP", new AjaxOptions
    
    @using (Ajax.BeginForm("SignUp", "MVP", new AjaxOptions