2012-09-18 35 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部件时,你不必回发整个页面。