我有一件奇怪的事情,我正试图找到一个解决方案(不是选择,但我必须这样做)。我有一个显示或隐藏表格行的javascript函数。其他人写了。它的工作原理是,当您单击表格行中的图像时,它会在其下方显示一行。再次单击该图像会折叠该行。它的图像代码很简单:
<img blah blah blah onClick="ShowHide(this);">
我想要做的是捕获img元素和属性并将其作为查询字符串发送,以便当页面执行回发时我可以在后面的代码中调用javascript函数ShowHide(this)并将其传递给图像属性。这样行将在页面加载时显示。那有意义吗?所以我现在所拥有的是:
function postbackwithModal(){
//image properties is what I need to figure out
window.location = "/Products/ProductDetail.aspx?element=" + imageProperties;
}
然后在后面的代码中:
string element = Request.QueryString["element"];
if (!element.IsNullOrEmpty())
{
ClientScript.RegisterStartupScript(GetType(), "hwa", "ShowHide(" + element + ");", true);
}
ShowHide()函数如下所示:
function ShowHide(Element) {
var rowIndex = $(Element).parent().parent()[0].sectionRowIndex;
var item = $(Element).parent().parent().parent().children()[rowIndex + 1];
if ($(item).is(":visible") == true) {
$(item).hide(0, function () { $(Element).attr('src', '../Images/plus.png'); });
}
else {
$(item).show(0, function () { $(Element).attr('src', '../Images/minus.png'); });
// Loop though the images and set the src value to be the custom handler endpoint.
var ImageContainer = $(item).children().children().children()[3];
var Images = $(ImageContainer).find('img');
}
globalPlus = Element;
}