C# 代码将使用 for 循环创建的文本框的值传递到另一个页面

标签 c# .net

我正在使用以下 C# 代码使用 stringbuilder 填充一个 div,我想获取被单击的特定学生的学生 ID。

PSC.Data.SQLDB.SQLDBHelper objReg = null;
DataSet objRegDetails = null;
try
{
    objReg = new PSC.Data.SQLDB.SQLDBHelper();
    objRegDetails = new DataSet();
    objRegDetails = objReg.ExecuteDataSet("ListConsultants", retXML);
    if (objRegDetails != null)
    {
        if (objRegDetails.Tables.Count > 0)
        {
            if (objRegDetails.Tables[0].Rows.Count > 0)
            {
                for (int i = 0; i < objRegDetails.Tables[0].Rows.Count; i++)
                {
                    strRep = "<div style='width :70px;height :90px; float :left ;'><div style='width :70px; height :70px; float :left ;'>";
                    strRep += "<input type=\"hidden\" id=\"hdcid\"  name=\"" + objRegDetails.Tables[0].Rows[i]["CName"] + "\" value=\"" + objRegDetails.Tables[0].Rows[i]["ConsultantId"] + "\">";
                    strRep += "<a href='a1.asp?hdcid=<%=hdcid.Value %>'>";
                    strRep += "<img src='../Images/Consultant/defaultimage.png' style='width:70px; height:70px;float:left;'></a></div>";
                    strRep +="<div style='width :70px; height :20px; float :left ;' class='pageRegText'>";
                    strRep += objRegDetails.Tables[0].Rows[i]["CName"].ToString();
                    //Session["ConsultantId"] = objRegDetails.Tables[0].Rows[i]["ConsultantId"].ToString();
                    strRep += "</div>";
                    strRep += "<div style='width :70px; height :20px; float :left ;'></div>";
                    strRep += "</div>";
                    divmain.InnerHtml += strRep;
                }
            }
        }
    }

}
catch (Exception exc)
{
}
finally
{
    objRegDetails = null;
    objReg = null;
}

问题:如何在点击link标签时获取到另一个页面的隐藏字段值?

最佳答案

您不能在页面之间使用隐藏字段,它们仅在它们所在的页面中可用。我觉得你需要学习Query StringsSession StatesCookies然后你会对状态有一个很好的了解,你可以选择最好的一个,这里它可以是查询字符串,因为 studentID 不是像密码这样的凭据。

例如:
源页面:

Response.Redirect("destination.aspx" + "?StudentID=" + YourStudentID);

并在目标页面加载:

txtStudentIDShow.Text = Request.QueryString["StudentID"].ToString();

关于C# 代码将使用 for 循环创建的文本框的值传递到另一个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13741146/

相关文章:

c# - 在 C# 中创建此 XML

c# - JSON 和 UI 端点的 AspNetCore Swagger 返回 404

c# - 如何在 .NET 中平衡读写器线程

c# - 如何创建基于 HTTP header 的自定义身份验证机制?

.net - Diagnostics.Trace 跨多个域

.net - 过滤器中类似 SQL 的注入(inject)

c# - 将 C# 迁移到 Python - 随机类

c# - LINQ-To-SQL OrderBy 与 DateTime 不工作

c# - 与此 C# 片段等效的 UnityScript

c# - 将两个垂直滚动条绑定(bind)到另一个