Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.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/2/jquery/76.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
C# ASP.NET MVC:如何更改页面加载后Ajax.BeginForm将发布到的位置?_C#_Jquery_Asp.net_Ajax_Asp.net Mvc - Fatal编程技术网

C# ASP.NET MVC:如何更改页面加载后Ajax.BeginForm将发布到的位置?

C# ASP.NET MVC:如何更改页面加载后Ajax.BeginForm将发布到的位置?,c#,jquery,asp.net,ajax,asp.net-mvc,C#,Jquery,Asp.net,Ajax,Asp.net Mvc,我想创建一个Ajax.BeginForm,默认情况下,它将转到添加用户页面。我还希望在同一形式的编辑和删除按钮。表单中的信息将是相同的,我只需要它发布到不同的编辑用户和删除用户URL 如何根据按下的提交按钮修改表单的发布位置,同时保留Ajax.BeginForm提供给我们的所有项目 编辑: 还需要注意的是,我希望URL由我的路由生成。因此,正如BeingForm使用“action”和“Controller”来创建路径一样,我想在更改URL时也使用它,因此URL是动态的而不是静态的。我能够通过使用

我想创建一个Ajax.BeginForm,默认情况下,它将转到添加用户页面。我还希望在同一形式的编辑和删除按钮。表单中的信息将是相同的,我只需要它发布到不同的编辑用户和删除用户URL

如何根据按下的提交按钮修改表单的发布位置,同时保留Ajax.BeginForm提供给我们的所有项目

编辑:


还需要注意的是,我希望URL由我的路由生成。因此,正如BeingForm使用“action”和“Controller”来创建路径一样,我想在更改URL时也使用它,因此URL是动态的而不是静态的。

我能够通过使用jquery将操作更改为使用URL.Actions的表单来实现这一点

HTML按钮:

<button type="submit" class="btn btn-danger" id="formDeleteButton" onclick="ChangeFormToDelete()">Delete</button>

在@Url.Action中,第一个参数是操作,第二个是控制器。我为编辑和添加创建了完全相同的函数,它工作得非常好。

使用J-Query或JavaScript,您可以更改formA表单的操作url,只需将帖子发回一个方法。但是为什么你需要回发“Delete”方法的所有值呢?你应该只回发ID值(并以单独的形式)@StephenMuecke表单接受文本框和复选框输入的一系列ID。文本框作为ID,是我添加、编辑和删除所需的。在某些状态下,复选框可以忽略。我觉得如果我能在一个状态下处理所有内容,那么就不会有三个三种形式的文本框来处理大部分相同的内容,这会更“干净”。问得好,但答案是完全不安全的。@Aristos这怎么不安全?有没有更好/更干净的方法可以做到这一点?我有,但不幸的是,我是在表单上,而不是在MVC上,我没有MVC方面的经验来回答。现在为什么不安全,如果你不明白,我最好不要争辩。。。最后,如果对你有效,保留它。
function ChangeFormToDelete() {
            $('#UserForm').attr('action', '@Url.Action("DeleteUser", "UserManagement")')
        }