热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

带有4个参数的Ajax.BeginForm没有找到action方法

如何解决《带有4个参数的Ajax.BeginForm没有找到action方法》经验,为你挑选了1个好方法。

我有一个奇怪的案例,我想要你的启蒙.我有两个控制器.一般人员控制器使用行动方法和一个候选人控制器,用于与候选人相关的更具体的行动方法.我使用位于Person文件夹下的一个局部视图,以便在以后我想将其用于其他类型的Person时用作通用.目前,此局部视图使用针对候选控制器的Ajax.BeginForm.我正在使用的语法是

@using (Ajax.BeginForm("SaveCandidateLanguage", "Candidate",
    new AjaxOptions
    {
        HttpMethod = "Post",
        OnBegin= "onBeginFormValidation",
        OnSuccess= "onSaveCandidateLanguageSuccess"
    }))
{
    // form input elements
}

这种类型的Ajax.BeginForm正常工作,尽管它针对不同控制器中的操作.现在我的表单验证我不得不为我的Ajax.BeginForm添加一些参数.我的新语法是这样的:

@using (Ajax.BeginForm("SaveCandidateLanguage", "Candidate",
    new AjaxOptions
    {
        HttpMethod = "Post",
        OnBegin= "onBeginFormValidation",
        OnSuccess= "onSaveCandidateLanguageSuccess"
    },
    new
    {
        id = "addEditCandidateLanguageForm",
        novalidate = "novalidate"
    }))
{
   // form input elements
}

由于某种原因,这种方式无法找到Action方法.如果我将我的动作放在Person Controller中,它会再次正常工作.但是我想知道为什么会这样.我做了一些挖掘,但我没有设法得到答案.

从firebug我看到浏览器试图发布的URL是出于某种原因

HTTP:// {项目名} /人/ SaveCandidateLanguage长度= 9

代替

HTTP:// {项目名} /候选/ SaveCandidateLanguage长度= 9

我自然得到404未找到的回复.我还想知道变量是什么?我在网址末尾看到的长度= 9,它来自何处.



1> GGO..:

Ajax.BeginForm有11个不同的声明.在你的第一种情况下,它是有效的,因为你使用这个:

Ajax.BeginForm(string actionName, string controllerName, AjaxOptions options)

但是你使用这个的第二种情况,试图在object routeValues参数中放入一个字符串:

Ajax.BeginForm(string actionName, object routeValues, AjaxOptions options, object htmlAttributes)

最后,您要使用的声明是:

Ajax.BeginForm(string actionName, string controllerName, object routeValues, AjaxOptions ajaxOptions, object htmlAttributes)

使用null值实现,例如:

Ajax.BeginForm("SaveCandidateLanguage", "Candidate", null,
new AjaxOptions
{
    HttpMethod = "Post",
    OnBegin= "onBeginFormValidation",
    OnSuccess= "onSaveCandidateLanguageSuccess"
},
new
{
    id = "addEditCandidateLanguageForm",
    novalidate = "novalidate"
}))

原因?length="9"是"Candidate"包含9个字符,length是字符串的唯一属性


而'?length ="9"`的原因是因为"Candidate"包含9个字符而``length`是`string`的唯一属性
推荐阅读
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • 判断编码是否可立即解码的程序及电话号码一致性判断程序
    本文介绍了两个编程题目,一个是判断编码是否可立即解码的程序,另一个是判断电话号码一致性的程序。对于第一个题目,给出一组二进制编码,判断是否存在一个编码是另一个编码的前缀,如果不存在则称为可立即解码的编码。对于第二个题目,给出一些电话号码,判断是否存在一个号码是另一个号码的前缀,如果不存在则说明这些号码是一致的。两个题目的解法类似,都使用了树的数据结构来实现。 ... [详细]
  • ①页面初始化----------收到客户端的请求,产生相应页面的Page对象,通过Page_Init事件进行page对象及其控件的初始化.②加载视图状态-------ViewSta ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • 学习Java异常处理之throws之抛出并捕获异常(9)
    任务描述本关任务:在main方法之外创建任意一个方法接收给定的两个字符串,把第二个字符串的长度减1生成一个整数值,输出第一个字符串长度是 ... [详细]
  • 本文介绍了在iOS开发中使用UITextField实现字符限制的方法,包括利用代理方法和使用BNTextField-Limit库的实现策略。通过这些方法,开发者可以方便地限制UITextField的字符个数和输入规则。 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
author-avatar
机加工N_918
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有