private void DisplayImages(string imageFile)
{
Image pImage = new Image();
pImage.ImageUrl = imageFile;
this.Controls.Add(pImage);
}
上面是當前代碼,但圖像沒有顯示,我想檢查URL值。我有一個JavaScript函數將檢查URL並返回URL。我需要做的就是使用稱爲POST的方式將JavaScript返回的URL分配給上面的圖像。在上面的函數中如何在代碼隱藏中實現這一點?如何在ASPX代碼中使用POST代碼設置url的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>
在我的答案下有一整套的澄清 - 先閱讀它們 –
您已經提出過這個問題。請不要發佈重複。 [需要在ASPX頁面中顯示具有長URL的圖像](http://stackoverflow.com/questions/10709044/need-to-display-image-in-aspx-page-that-has-long-url)記錄:「POST」*不能*在此使用; HTML'img'標籤將*只*通過'get'發出請求。你不能改變這一點。你應該*永遠不必*。 –
@AndrewBarber:感謝您的更新並對雙後的抱歉,但我想在這裏問與特定問題POST。那麼,爲了使用POST,我需要做些什麼改變。我被告知這是顯示imageUrl的唯一希望。再次抱歉。 – Anirudh