3

我有一个表 tblProfile,其中包含 Id、Name、Address 字段。我有 2 个 aspx 页面,分别是 Home.aspx 和 Here.aspx。在我的 Home.aspx 上,我使用此代码在 Here.aspx 中传递 Id:

<asp:HyperLink ID="link" runat="server" NavigateUrl="Here.aspx?id={0}" 
            Font-Names="Times New Roman" Font-Size="Medium" >Click here</asp:HyperLink>

在 Home.aspx.cs 后面的代码中:

protected void Page_Load(object sender, EventArgs e)
{
    string bID = Request.QueryString["Id"];
    if (string.IsNullOrEmpty(Id))
    {
        Response.Redirect("Here.aspx?", true);
    }
    ViewState["Id"] = Id;
    link.NavigateUrl = String.Format(link.NavigateUrl, Id);

}

将 ID 传递给第二页中的 url 没有任何问题。但我现在想要的是,在我的 Here.aspx 上,我有 3 个文本框,它们应该由从 Home.aspx 传递的某个 Id 的 Id、名称和地址填充。尝试了很多,但完全没有运气。任何帮助,将不胜感激。顺便说一句,我正在使用带有 c# 的 asp.net。

4

3 回答 3

1

我们有两个解决方案

解决方案1:asp.net中的用户上一页属性,这样您就无需传递ID。IE

 protected void Page_Load(object sender, EventArgs e)
    {
        // Find the name on the previous page
        TextBox txt = (TextBox)Page.PreviousPage.FindControl("txtNameText");

        if (txt != null)
            txtName.Text = Server.HtmlEncode(txt.Text);
        else
            txtName.Text = "[Name Not available]";
    }

解决方案2:从查询字符串中获取ID,并在文本框文本property.ie上按ID获取数据

protected void Page_Load(object sender, EventArgs e)
        {
            // Get value from query string
            string profileID = Request.QueryString["Id"];

            // Fetch data from database by ID
            DataTable dt = FetchEmployeeDataByID(ProfileID);

            txtName.text = dt.rows[0]["Name"].tostring();

        }
于 2013-07-26T10:44:01.357 回答
0

您可以通过使用查询字符串中的 Id 作为键从数据库中检索配置文件数据来获取名称和地址。

所以在你的 Here.aspx 后面的代码中:

protected void Page_Load(object sender, EventArgs e)
{
    string profileID = Request.QueryString["Id"];
    // Retrive profile in your db..
    var profile = Profiles.Get(p => p.ProfileID == profileID);

    // Populate the textboxes
    txtId.Text = profileID;
    txtName.Text = profile.Name;
    txtAddress.Text = profile.Address;
}
于 2013-05-28T06:11:28.933 回答
0

根据您对评论的回复,我建议执行以下操作:

  1. 通过从查询字符串中检索到的数据将数据加载到Here.aspx后端(.cs 文件)Id
  2. 将加载的数据显示到所需的文本框中。
于 2013-05-28T05:37:00.543 回答