我正在使用以下 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 Strings和 Session States和 Cookies然后你会对状态有一个很好的了解,你可以选择最好的一个,这里它可以是查询字符串,因为 studentID 不是像密码这样的凭据。
例如:
源页面:
Response.Redirect("destination.aspx" + "?StudentID=" + YourStudentID);
并在目标页面加载:
txtStudentIDShow.Text = Request.QueryString["StudentID"].ToString();
关于C# 代码将使用 for 循环创建的文本框的值传递到另一个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13741146/