我对ASP.NET非常陌生,遇到了一个我尚未弄清楚的问题。在我的Default.aspx页面上,我有一个用户可以注册的地方。这只需要字段 - 电子邮件和密码。当提交按钮被点击时,他们将进入Signup.aspx,它显示一个更大的注册表单,其中包含用户名,电子邮件,密码,确认密码等字段。我想自动填充我的电子邮件和密码文本框与用户输入的Default.aspx页面。这可能吗?我正在使用Microsoft Visual Web Developer 2010 Express。基于用户输入的自动填充文本框
回答
有多种方法可以做到这一点。
一种方法是使用查询字符串导航到喜欢:
http://example.com/Signup.aspx?email=value1&password=value2
和Signup.aspx获得价值的Page_Load事件像:
String email = Request.QueryString["email"];
String password = Request.QueryString["password"];
,并分配给您的文本框控件,如:
txtEmail.text =email;
txtPassword=password;
但是发布的密码作为查询字符串明文是不是好的做法。
- 其他的方法是GET HTTP POST 从源页面信息:
- 在源页,包括包含HTML元素(例如输入或文本域)或ASP.NET服务器表单元素控件(如TextBox或DropDownList控件)在提交表单时发布值。
- 在目标页面中,阅读Form集合,该集合返回一个名称/值对的字典,每个发布值一对。例如
//
void Page_Load(object sender, EventArgs e)
{
System.Text.StringBuilder displayValues =
new System.Text.StringBuilder();
System.Collections.Specialized.NameValueCollection
postedValues = Request.Form;
String nextKey;
for(int i = 0; i < postedValues.AllKeys.Length; i++)
{
nextKey = postedValues.AllKeys[i];
if(nextKey.Substring(0, 2) != "__")
{
displayValues.Append("<br>");
displayValues.Append(nextKey);
displayValues.Append(" = ");
displayValues.Append(postedValues[i]);
}
}
Label1.Text = displayValues.ToString();
}
最佳 & 最简单我认为是使用会议:
上
Submitbutton_click
事件默认的。ASPX,值保存到会话,如:Session["Email"] = txtEmail.text;
Session["Password"]=txtPassword.text;
和Signup.aspx
Page_load
事件检索值,如:
string email = (string)(Session["Email"]);
string password = (string)(Session["Password"]);
&分配给你的控制/文本框,如:
txtEmail.text =email;
txtPassword=password;
有更多的方式太检索前一页值一样PreviousPage.FindControl("txtEmail")
,但我从来不喜欢他们。
我的代码出了什么问题?在我的默认页面上,在submitbutton_click事件处理程序中,我有:Session(“Email”)= TextBoxEmail.Text然后在我的Signup页面中,在onload处理程序中,我有:Dim Email As String = Session(“Email”)/ n NewTextBoxEmail.Text =电子邮件。它不会像我所期望的那样在文本框中显示文本。 – Vince
当我使用调试器,它给了我这个错误:对象引用未设置为对象的实例。 – Vince
您需要将会话中的值转换为其对应的数据类型,并在使用会话之前检查null,例如if(Session [“Email”]!= null &&!string.IsNullOrEmpty((string)Session [“Email”])) {\\做你的事情}' –
- 1. 基于另一个输入的自动填充文本框
- 2. 基于来自其他文本框的输入自动填充动态文本框(jQuery)
- 3. 如何使文本框自动填充从基于输入到另一个文本框中的文件
- 4. 基于AngularJS的文件名自动填充输入
- 5. 自动填充文本框
- 6. 自动填充文本框
- 7. 在输入文本框时自动从组合框填充
- 8. 用第一个文本框输入自动填充第二个文本框
- 9. 基于选择条目自动填充文本框
- 10. 自动自动填充文本框
- 11. 重定向到基于用户输入到自动填充字段的网址
- 12. 如何基于用户输入自动填充相应的字段
- 13. 为Google自动填充文本框设置输入值
- 14. 自动填充日期文本框时输入
- 15. 基于用户登录填充文本框
- 16. 使用文本框自动填充
- 17. Chrome自动填充正在填写错误的文本输入
- 18. MS-Access活动用户名自动填充文本框
- 19. 基于动态下拉框填充文本框
- 20. 预填充输入文本框
- 21. php中的文本框自动填充
- 22. Excel - 使用基于用户输入的日期填充列
- 23. 自动填充输入Javascript
- 24. 基于文本框输入的动态文本框创建
- 25. 输入文本字段自动完成(自动填充),在Chrome
- 26. 基于jsonp响应自动填充输入字段
- 27. 填充/刷新基于用户输入的下拉列表
- 28. 用主文本框内容自动填充文本框
- 29. 自动填充/预填充输入字段与文本形式h1使用jquery
- 30. 在vb中自动填充文本框
我编辑了你的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –
然后逻辑上我的标题只应该说“基于用户输入”;) – Vince
否。反对意见是将“元数据”添加到您的标题。 –