通过隐藏的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
答案 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周期。随着时间的推移,