如何将变量传递给另一个ASP.net页
问题描述:
好了,所以我有一个生成的样式列表项href定位标签,并把它扔了到像这样的aspx页面一些C#;如何将变量传递给另一个ASP.net页
html += "<a href='../InspectionView.aspx' class='list-group-item' id=''>Inspection ID: " + inspectionID + " - Due Date: " + inspDueDate + " - Inspector(s): Bob Williams <span style='min-width:75px' class='label label-primary pull-right'>" + status + "</span></a>";
现在这是一个循环,变量从SQL数据库中提取并用于填充该html字符串。
现在,我想要做的是有这么当用户点击产生的HREFs之一,并被重定向到下一个页面,该变量inspectionID传递着。我想可能有某种方式将其存储在href标签的ID,但我不知道从哪里里去。
非常感谢。
答
添加query string参数。
html += "<a href='../InspectionView.aspx?inspectionID='" + inspectionID + " class='list-group-item' id=''>Inspection ID: " + inspectionID + " - Due Date: " + inspDueDate + " - Inspector(s): Bob Williams <span style='min-width:75px' class='label label-primary pull-right'>" + status + "</span></a>";
用于读取接收页:
string inspectionID = Request.QueryString["inspectionID"];
见 https://msdn.microsoft.com/en-us/library/system.web.httprequest.querystring(v=vs.110).aspx
答
一个很简单的方法就是坚持到查询字符串。由于这不是服务器控制,它可能是唯一的方法。
像...
html += "<a href='../InspectionView.aspx?InspectionID="+HttpUtility.UrlEncode(Inspection_ID.ToString())+"&anyotherQSField="+HttpUtility.UrlEncode(anyotherQSFieldVariable) + "' class='list-group-item'> - Due Date: " + inspDueDate + " - Inspector(s): Bob Williams <span style='min-width:75px' class='label label-primary pull-right'>" + status + "</span></a>";
然后在InspectionView.aspx,获得价值的东西,如:
String strInspection_ID = Request.QueryString["InspectionID"];
您可能需要转换为字符串此为ID的工作。 您不必为Inspection_ID使用HttpUtility.UrlEncode,但是如果您想在QS中使用其他字符串(可能包含空格或其他奇数字符) - 这将是明智之举。
您正在寻找的概念被称为“查询字符串” – mason
您需要在该行中构建要传递的id ...在URL的末尾添加?inspectionID ='insert value here'。如果您有多个值,那么在每个键/值对之后添加“&nextValue =” – logixologist