2012-09-18 29 views
1

我有一個Web部件,它根據用戶定義的某些特定標準填充位於共享點列表中的可能頁面的下拉列表。如何將iframe添加到WebPart以呈現單獨的HTML頁面?

這個想法是讓用戶指定他們的標準,然後從下拉菜單中選擇一個特定的頁面,然後將該HTML頁面加載到下拉框下方的iframe中以供即時查看。

雖然我很難理解如何解決這個問題。當我在VS中創建一個WebPart時,我選擇了「Web Part」,它只給了我一個.cs文件。

從CS文件,我知道我可以做這樣的事情:

protected override void CreateChildControls() 
    { 
     Controls.Clear(); 
     myTextBox = new TextBox(); 
     Controls.Add(myTextBox); 
     ... 
    } 

等。根據我的理解,這是在服務器上運行,然後將一個頁面提供給客戶端,然後進行渲染。在我看來,「創建」一些HTML的唯一方法是使用類似HtmlTextWriter的東西,但如果這是正確的攻擊角度,我並不積極。

所以我想我的問題是,我應該使用一個可視的Web部件,而我將如何去添加一個iframe到WebPart,然後改變它的屬性(src等),並讓它呈現「即時」頁面?

謝謝。

回答

2
 this.Controls.Add(new LiteralControl("<iframe src='externalpage.htm'></iframe> ")); 
1

Visual webpart是一個包含和寫入用戶控件的程序。這可以讓你使用html標記。根據html的複雜程度,您可能會或可能不想要使用可視Web部件。如果您使用常規的Web部件,那麼Gregor Primar的答案對於Web部件的CreateChildControls方法是有意義的。我強烈建議讓你的下拉菜單選擇使用JavaScript,所以當你只是更新一個web部件時,你不必回發整個頁面。

相關問題