如何通过post发送局部变量

时间:2017-12-08 14:43:25

标签: c# html razor

通过隐藏的input field我想将网站1 的值发送到网站2 。 但在站点2 时,它表示值为null

我想这是因为它是本地价值。但它必须是本地的,我不确定。

这是我的代码,我在其中声明了值(第1页):

string stringproductid = Request.QueryString["id"].tostring();
int productid = stringproductid.AsInt();

这里我通过表单内的隐藏字段发送它(第1页):

<input type="hidden" id="@productid" value="@productid" name="@productid">

我试着收到它(第2页):

string idstring = Request.Form["productid"].ToString(); //error

2 个答案:

答案 0 :(得分:0)

应该是name="productid"。你在那里使用的@使Razor将productID的放入该属性中。因此,如果您查看原始生成的HTML,它将类似name="346"

它属于“value”属性,您正确地执行了此操作,但您需要在“名称”中添加的是该字段的名称,以便浏览器使用该字段名称正确地将其发回。 : - )

答案 1 :(得分:0)

在第二页上,您应该使用

string idstring = Request.Form["@productid"].ToString(); //error

在旁注中,Request.QueryString[]Request.Form[]都是字符串,因此您无需包含.ToString()。我知道它可能是防御性编码,但你只是在增加CPU周期。随着时间的推移,