2015-12-02 47 views
0

我動態生成一個按鈕,我需要使用單擊事件針對那些鏈接的iframe,這裏是按鈕生成代碼,如何發送動態按鈕鏈接到IFRAME

for (int i = 0; i < lbl; i++) 
    { 
     LinkButton lnkBtn = new LinkButton(); 
     lnkBtn.CssClass = "btn"; 
     lnkBtn.Text = textList[i]; 
     lnkBtn.PostBackUrl = linkList[i]; 
     LiteralControl linebreak = new LiteralControl("<br />"); 
     table1.Rows[0].Cells[0].Controls.Add(lnkBtn); 
     table1.Rows[0].Cells[0].Controls.Add(linebreak); 
    } 

一項PostBackUrl和按鈕文本來自數據庫,for循環轉爲數據庫表的行數。我需要將每個按鈕的鏈接顯示在Iframe中。 iframe具有像「myFrame」一樣的id。

+0

你是什麼意思「顯示每個按鈕鏈接到的iFrame?」 – timothyclifford

+0

對於我的英語很抱歉,我想點擊按鈕並在同一頁面將它們顯示到iframe中。 – OykunYenal

+0

你不需要道歉,你的英語很棒!只是想弄清楚你想做什麼...所以你有一個按鈕外的一個iFrame,然後當你點擊按鈕,你想iFrame改變到一個不同的URL? – timothyclifford

回答

0

您需要爲您的iFrame指定一個name屬性,如果您願意,可以與該ID相同。那麼你的鏈接將使用它作爲其target,所以任何點擊都會觸發iFrame上的更改。

<a href="your-url-here.html" target="myFrame">Foo</a> 
<iframe id="myframe" name="myFrame"></iframe> 

要做到這一點,你需要的目標添加到您的LinkBut​​ton:

for (int i = 0; i < lbl; i++) 
{ 
    HyperLink lnkBtn = new LinkButton(); 
    lnkBtn.CssClass = "btn"; 
    lnkBtn.Text = textList[i]; 
    lnkBtn.NavigateUrl = linkList[i]; 
    lnkBtn.Target = "myFrame"; 
    LiteralControl linebreak = new LiteralControl("<br />"); 
    table1.Rows[0].Cells[0].Controls.Add(lnkBtn); 
    table1.Rows[0].Cells[0].Controls.Add(linebreak); 
} 
+0

謝謝你的答案,但我給了PostBackUrl屬性按鈕的鏈接。我猜這是不行的。 – OykunYenal

+0

對不起!我不認爲你想使用LinkBut​​ton,因爲這會導致回發,HyperLink更好。我已更新我的示例。 – timothyclifford

+0

好的,這就解決了這個問題。 – OykunYenal