从查询字符串写入文本框

时间:2015-10-14 19:35:53

标签: c# html asp.net

我的查询字符串已关闭,并已验证所有值都按原样传递。即使您查看地址栏,它也会显示相应的值,但它们不会写入页面本身。

string pagetoload = "www.nonono12323hamarabi2323.html";
string bld = "FranklinJonesSmith";
Response.Redirect(pagetoload+"?BuildingName="+bld);

这是字段buildingname

的html
<div style="width: 10px;"></div>
<input id="BuildingName" name="BuildingName" maxlength="255" type="text" style="width:240px;">

修改
如果我在页面加载时查看地址栏,它会显示我想要传递的正确值。地址栏显示:

www.nonono12323hamarabi2323.html?BuildingName=FranklinJonesSmith

编辑2
感谢@RJ Cuthbertson我现在有了更好的理解,并意识到simplay将查询字符串传递给页面并不会填充文本框本身。

我正在使用webforms并使用Response.Redirect启动订单页面,因此我没有办法访问C#Page_Load事件来执行类似

的操作
BuildingName.Text=Request.QueryString["bld"];

所以我可以说我需要研究下面提到的JavaScrip方法吗?

1 个答案:

答案 0 :(得分:1)

查询字符串参数是一种在URL中传递数据的方法,但它们不会自动将其值映射到DOM中的元素。

如果您尝试使用JavaScript执行此客户端,则可以从location.search属性获取查询字符串。

要解析查询字符串,有很多实现on the webon StackOverflow

然后您需要将值设置为输入控件:

document.getElementById('BuildingName').value = yourVariableWithTheValueFromTheQueryString;