Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.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
Html 输入类型=";提交;如果值以大写字母开头,则无法将其值传递给服务器_Html_Asp.net Mvc - Fatal编程技术网

Html 输入类型=";提交;如果值以大写字母开头,则无法将其值传递给服务器

Html 输入类型=";提交;如果值以大写字母开头,则无法将其值传递给服务器,html,asp.net-mvc,Html,Asp.net Mvc,我的HTML中有两个按钮:保存&保存和退出。在服务器上,我检查按钮的值并相应地执行操作。但是,如果该按钮的值在服务器上以大写字母开头,则为Null。小写字母可以通过 下面是我的代码 //HTML: <input type="submit" class="btn btn-primary btn-block" name="submissionbutton" value="Save" /> <input type="submit" class="bt

我的HTML中有两个按钮:保存&保存和退出。在服务器上,我检查按钮的值并相应地执行操作。但是,如果该按钮的值在服务器上以大写字母开头,则为Null。小写字母可以通过

下面是我的代码

//HTML:

        <input type="submit" class="btn btn-primary btn-block"  name="submissionbutton" value="Save" />
        <input type="submit" class="btn btn-primary btn-block" name="submissionbutton" value="Save & Exit" />
如果我将输入中的值从“Save”更改为“Save”,所有操作都正常,但按钮本身会显示小写的“Save”,这是不可取的。
我不明白如何将输入type=“button”中的值从小写改为大写会使服务器上的值无效。

我敢打赌问题实际上是您的符号。如果是这种情况,请查看使用
encodeURIComponent()

“如果没有编码器组件,则可以在 服务器作为一个新字段的开始,并危及 数据。”

我认为以上内容将清理您发送的值并解决问题。您也可以尝试使用按钮元素而不是输入元素。这样,相对于按钮上显示的文本,您的值将是您想要的任何值。另一种方法是用div元素制作自己的按钮。我不确定这些建议是否真的有用,因为我自己不使用asp.net

<button name="name" value="save" type="submit">Save</button>
<button name="name" value="saveexit" type="submit">Save & Exit</button>
保存
保存并退出

我敢打赌问题实际上是你的符号。如果是这种情况,请查看使用
encodeURIComponent()

“如果没有编码器组件,则可以在 服务器作为一个新字段的开始,并危及 数据。”

我认为以上内容将清理您发送的值并解决问题。您也可以尝试使用按钮元素而不是输入元素。这样,相对于按钮上显示的文本,您的值将是您想要的任何值。另一种方法是用div元素制作自己的按钮。我不确定这些建议是否真的有用,因为我自己不使用asp.net

<button name="name" value="save" type="submit">Save</button>
<button name="name" value="saveexit" type="submit">Save & Exit</button>
保存
保存并退出

我认为这与Json如何序列化表单值有关:

请尝试以下链接:

替换此行:

jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
与:


我认为这与Json如何序列化表单值有关:

请尝试以下链接:

替换此行:

jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
与:


当我读到just“Save”的值时,它的行为是相同的——我可以得到“Save”但不能得到“Save”,解决方案确实有效,但我想理解为什么在非常确定的情况下,案例的更改不是案例,而是符号导致了意外的结果。如果你用“和”这个词代替“和”这个符号只是为了测试,它能起作用吗?比如“保存并退出”只是为了测试?如果它能工作,这是肯定的问题,我会回到encodeURIComponent。我也尝试了“保存和退出”,它也能工作,而“保存和退出”在服务器上给我空值其他信息:当我使我的按钮值“保存”(小写)时,我可以在服务器上看到它作为表单键之一,只要我将值更改为“Save”,表单键不再在服务器上–当我读取“Save”的值时,它会将键的数量减少1它的行为相同-我可以得到“Save”,但不能得到“Save”这个解决方案确实有效,但我想理解为什么在非常确定的情况下改变大小写不是因为大小写而是因为符号AND导致了意外的结果。如果用单词AND替换符号AND只是为了测试,它是否有效?比如“保存并退出”只是为了测试?如果它能工作,那肯定是问题所在,我会回到encodeURIComponent。我还尝试了“保存并退出”,它也能工作,而“保存并退出”在服务器上给我空值。其他信息:当我将按钮值设置为“保存”(小写)时只要我将值更改为“Save”,我就可以在服务器上将其视为表单键之一,表单键不再在服务器上–它会将键的数量减少1您是否有任何规则,如“routes.LowercaseUrls=true”或全局.asax上应用程序_BeginRequest上的任何规则,或任何操作名称,如[ActionName(“Save”)]?我在代码中的任何地方都没有找到这样的规则。由于将值中的大小写从低到高进行更改,而不更改键的名称会使键从表单中消失,这是MVC中的一个错误。或者可能有文档,我找不到该文档要求表单键字符串值以大写字母开头?这不正确没有什么意义。有人知道吗?我大约4年前就设计了这个,当时它还在工作。它不是MVC 3就是MVC 4。从那以后,我升级了MVC、实体框架和Visual Studio好几次,但用户最近才发现这个问题。所以我不知道这个问题已经存在多久了。如果是大写的,是吗您是否遇到任何错误或其他问题?如果您无法解决此问题,可能您可以将输入更改为“按钮”,按钮也有值,但不是文本。这可能会解决您的问题。您是否可以在浏览器的“开发人员工具”中单击“网络”部分的按钮时向我们显示结果?我使用VS调试器来了解此问题。在我的控制器中服务器上的断点I check request=>form=>keys您是否有类似于“routes.LowercaseUrls=true”的规则或Global.asax上的应用程序_BeginRequest上的任何规则,或类似于[ActionName(“save”)的任何操作名称?我在代码中的任何地方都没有找到这样的规则。由于将值中的大小写从低到高进行更改,而不更改键的名称会使键从表单中消失,这是MVC中的一个错误。或者可能有文档,我找不到该文档要求表单键字符串值以大写字母开头?这不正确没什么意义。有人知道吗?我大约4年前就设计了这个,当时它还在工作。它不是MVC 3就是MVC 4。我