2013-03-28 52 views
0

需要一些幫助,請。我有一個帶有iframe的aspx頁面,我試圖從後面的代碼中將一個名爲'pageId'的變量傳遞給它。我查看了SO和其他網站上的各種示例,並且大多數人都向其他人建議了一個數據綁定問題,並且我已經通過一些示例進行了跟蹤。也許我不能像使用if試圖在iframe中那樣使用變量?asp.net cs變量在aspx頁面

我已經介紹了get/set和public屬性,但只是有點迷路。任何人都可以幫助我指出正確的節制嗎?

aspx頁面

<iframe width="690" height="600" src="https://myserver.com/Index.php?pageId=<%=pageId%>" frameborder="0" scrolling="yes" style="border-width: 0px;"></iframe> 

aspx.cs頁面

protected String pageId { get; set; } 

//private string pageId; 
//public String pageId { get {return pageId; } } 

protected void Page_Load(object sender, EventArgs e) 
{ 
    string pageId = 'Y2840'; //this is generated from my db and I know the data is being stored in here as I have Response.Write(pageId) 
} 
+0

你遇到的錯誤是什麼?或者什麼都沒有發生? – Tejs

+0

雖然不是這樣的錯誤,但myserver.com/Index.php不顯示pageId的值。它就像沒有在那裏,但當我回應寫有 – JK36

+0

是在FormView內的iframe?否則可能更容易在iframe上設置id,並在代碼隱藏中設置src。 – Constanta

回答

2

你的私有變量和公共財產具有相同的名稱。嘗試在屬性名稱中使用大寫字母P.也不要在Page_Load中聲明一個新的變量pageId。 PageId爲空,因爲您要設置本地Page_Load方法變量,而不是類級變量。

private string pageId; 
public string PageId { get {return pageId; } } 

protected void Page_Load(object sender, EventArgs e) 
{ 
    pageId = 'Y2840'; 
} 

在你的aspx頁面:

<%=PageId%> 
+0

它仍然是空的? – JK36

+0

奇怪,你是從Page_Load方法中刪除字符串的嗎? –

+0

如果我只是將<%=PageId%>添加到我的aspx頁面,變量將顯示出來。但它沒有通過我的服務器在iframe中。我想我會嘗試formview方法。哦,那麼近。 – JK36

0

方法1.

<iframe runat="server" id="myiframe" width="690" height="600"  
frameborder="0" scrolling="yes"  style="border-width: 0px;"></iframe> 

後臺代碼:

myiframe.src="https://myserver.com/Index.php?pageId=" + pageId; 

方法2.

在formview中放入iframe併爲其指定數據源。然後使用您現有的代碼。

相關問題