2014-05-07 43 views
1

我不确定如何正确说出这个问题,但要点是我们已经有一个系统从服务器接收脚本,它提供了一些UI的布局。我们为桌面客户端(WPF)动态呈现此UI。我们希望为网络做类似的事情,以便在我们不想安装胖客户端的情况下提供一些功能子集。虽然只需创建一个呈现html/aspx字符串的服务器控件,例如相当容易,通过JS/AJAX等生成处理丰富ui体验的文本......并不是那么多。如果我们使用Java,Vaadin将是完美的,但Windows Silverlight需要一个插件。所有我在ASP中的信息包括简单文本写入响应输出,但我想...有没有办法只使用ASP.Net中的对象来构建一个网页?

  1. 获取请求到自定义HTTP模块。
  2. 查询适当的脚本并通过C#中的System.Web对象进行呈现。
  3. 将对象或页面或东西返回给ASP.Net以为用户提供服务。
  4. 处理事件并为用户提供一般交互性。

是这样的可能在ASP.Net,我怎么会突然插入自己入页面生命周期,使我能回到我的动态创建的页面实例或获取到一个正在创建和补充呢?

+0

在的给你不好的建议恐惧,我找了一些这方面的信息自己。我有点决定看看MVC,因为它允许你有点简单地连接到数据(或服务),并似乎想为你做一些工作。 –

+0

您的自定义HttpModule可以将请求路由到动态创建控件的ASPX。你坚持哪部分?你的每一个要点可能都是他们自己的问题。 – David

+0

Silverlight如何需要一个插件,但它对于Java来说还好吗?你如何看待Java这样做?我的意思是,Silverlight还有很多其他问题,但在这种情况下,它似乎是一种双重标准。 –

回答

2

我创建了一个小测试页面。也许这足以让你走了。各种各样的地方,你可以用这个,沿自定义控件的行与他们自己的标记和事件处理程序。我希望这有帮助!

Test.aspx的

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="DynamicFormTest.Test" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 

    </div> 
    </form> 
</body> 
</html> 

Test.aspx.cs

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

namespace DynamicFormTest 
{ 
    public partial class Test : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      Button button1 = new Button(); 
      button1.Text = "Hello World"; 
      button1.Attributes["onclick"] = "alert('Hello!')"; 
      this.form1.Controls.Add(button1); 
     } 
    } 
} 
相关问题