我在page_load方法中有这段代码:
string orgId = Session["Lineage"].ToString().Split(';')[depth];
hidOrg.Value = orgId;
这在aspx页面中:
<input type="hidden" id="hidOrg" runat="server" />
和
function doRetrieveData(objVal) {
var org = document.getElementById("hidOrg").value;
//do stuff
window.location.href = "summary.aspx?multiple=" + org
}
问题是,在为var org分配隐藏的“hidOrg”字段的值时,我得到一个对象预期错误。感谢您提前提供任何帮助。
答案 0 :(得分:1)
ASP.NET根据控件的NamingContainer生成服务器控件的ClientID。
所以你需要将ClientID
传递给你的javascript函数。试试这个:
var org = document.getElementById('<%=hidOrg.ClientID%>').value;
其他方法:
将hiddenfield的值传递给javascript函数。您需要将隐藏字段直接放在DropDownList / Select后面,并使用nextSibling来获取对它的引用。
onchange="doRetrieveData(this.value,this.nextSibling.value)
将隐藏字段的ClientIdMode设置为Static
(如果使用的是.NET 4.0)
答案 1 :(得分:-1)
Response.Redirect("~/summary.aspx?multiple=" + hidOrg.Value);