MVC如何在操作参数中传递两个输入文本

问题描述

请我对操作的参数有疑问。有人能帮我吗?我会解释:

我在“ Etiquetage”控制器中有一个动作“ Etiquette(字符串nom_pharm,int numBon,int nbColis)”。在视图中,我有两个用于numBon和nbColis的输入文本,我尝试让它们返回以将它们传递给参数,但总是第二个指示它为空,我使用此行:

<input type="button" value="Ok" onclick="window.location = '@Url.Action("Etiquette","Etiquetage",new { nom_pharm = @Model.PharmacieNom,numBon = " ",nbColis = " " })'+parseInt(document.getElementById('in').value),+parseInt(document.getElementById('bon').value)" />

您了解正确的语法吗?

解决方法

您需要的相对网址是/ Etiquetage / Etiquette?non_pharm = {in的值}&numBon = {bon的值}&nbColis = {in的值} 但是您的代码正在生成此/ Etiquetage / Etiquette?non_pharm = {value}&numBon =&nbColis = {in的值} {bon的值}。

您的方法有点奇怪。一种更常规的方法是使用带有POST而不是GET的表单。假设您有充分的理由在此处使用javascript发送GET请求,则此代码应该有效。

<input type="button"
   value="Ok"
   onclick="window.location = '@Url.Action("Etiquette","Etiquetage")?non_pharm=@Model.PharmacieNom&numBon='
                                        + document.getElementById('bon').value + '&nbColis='
                                        + document.getElementById('in').value" />

请注意,我假设numBon带有“ bon”,nbColis带有“ in”。 因为正在创建字符串,所以不需要parseInts。