private void DisplayImages(string imageFile)
{
Image pImage = new Image();
pImage.ImageUrl = imageFile;
this.Controls.Add(pImage);
}
以上是当前代码,但图像未显示,我想检查 URL 值。我有一个 javascript 函数,它将检查 URL 并返回 URL。我需要做的就是使用所谓的 POST 将从 javascript 返回的 URL 分配给上面的图像。如何在上述函数的代码隐藏中实现这一点?
请建议。
更新 1:我忘了添加“this.Controls.Add(pImage);”。我已经在上面添加了。
更新 2:我在页面的 onLoad 期间创建图像控件(如代码所示)。此 URL 通常较长,并且来自 XML。我在分配给图像控件之前打印了 URL 值。
现在由于某种原因,图像不会在浏览器中呈现。刚才我发现即使是在单独的浏览器中呈现的那个 URL 也会给我 HTTP 403。构建那个 URL 并存储在 XML 中的人告诉我应该使用 Javascript 并通过发送这个 URL 来做一个 POST。我需要知道如何在下面的代码中执行 javascript,以便在 POST 方法之后分配图像 URL。希望这可以澄清。
更新 3:下面是 ASPX 页面中的 Javascript。
<script type="text/javascript">
// Open URL in new window with a a post instead of the get
function posturl(url) {
alert("I am here");
var qsBegin = url.indexOf("?");
var qsPattern = new RegExp("[?&]([^=]*)=([^&]*)", "ig");
var match = qsPattern.exec(url);
var params = new Array();
while (match != null) {
// matched text: match[0]
// match start: match.index
// capturing group n: match[n]
var matchID = match[1];
if ( matchID.charAt(0) == "&" ) {
matchID = matchID.substr(1);
}
if ( params[match[1]] != null && !(params[match[1]] instanceof Array) ) {
var subArray = new Array();
subArray.push(params[match[1]]);
subArray.push(unescape(match[2]));
params[match[1]] = subArray;
} else if ( params[match[1]] != null && params[match[1]] instanceof Array ) {
params[match[1]].push(unescape(match[2]));
} else {
params[match[1]]=unescape(match[2]);
}
match = qsPattern.exec(url);
}
var myForm = document.createElement("form");
//myForm.setAttribute("target", "_blank");
myForm.method="post" ;
myForm.action = url.substring(0,qsBegin) ;
for (var k in params) {
var myInput;
// Check for params with the same name.
if ( params[k] instanceof Array ) {
for ( var i=0; i<params[k].length; i++ ) {
myInput = createFormInput(k, params[k][i]);
myForm.appendChild(myInput) ;
}
} else {
myInput = createFormInput(k, params[k]);
myForm.appendChild(myInput);
}
}
document.body.appendChild(myForm) ;
myForm.submit() ;
document.body.removeChild(myForm) ;
//return "did you get what you wanted";
}
</script>