2015-04-20 67 views
1

我有一个用asp webforms(.net 4.0)编写的很老的项目。它使用像TextBox等不同的webforms服务器控件。向webforms添加引导程序设计

有一种用Bootstrap编写的设计。

客户希望将“webforms上的旧项目”与“bootstrap design”结合起来。

可能吗?我在这里看到一个问题:webforms服务器控件生成自己的html代码,因此不能直接使用类似bootstrap的设计。问题是 - 如何处理这个问题,如何克服这个问题?

我没有看到一个很好的解决方案,只重写服务器控件,如果他们不适合引导需要。是否有任何广泛使用的类似Bootstrap的Web窗体控件?

+1

新的.Net Web窗体使用引导(在它的站点master和aspx中),您可以通过引用控件的'CssClass'属性来命名css引导类来以相同的方式使用它。检查靴子教程 – user3240361

+0

我很抱歉,但你的意思是“新的.NET Web窗体”?你的意思是哪个版本? – renathy

回答

4

要问的第一个问题是客户希望使用Bootstrap的哪一部分?

引导电网

  • 这可能是结合了最简单的部分到现有系统中。由于大多数现有Web窗体项目都使用表格进行布局,因此可以使用响应表来控制表格的布局。
  • 或者,您可以查看使用Bootstrap Grid类为基础布局重写表。

HTML的输入字段

  • 对于<input>, <textarea>, and <select>输入字段,我会建议你创建你的基本页面的功能,将所需的自举类自动添加到控制。默认情况下,这将是“表单控制”类。作为一个起点,你可以在Page.Init事件中看到这样做。

  • 你也可以按钮做这样的按钮,但你的选择范围更大。

  • 对于复选框和Radibuttons,确实没有一个好方法可以自动执行此操作。您将不得不手动修改这些控件的HTML。

即使有上述选项,每个页面都会有一定程度的手动编辑。

这是我们现在要在一个新项目上实施的计划,所以我希望祝你好运。


编辑在评论

对矫正的HTML复选框和单选按钮的问题。我的意思是说,至少你必须添加一个<div class="checkbox"></div>来环绕<asp:checkbox>控件。以下是Bootstrap推荐的html。

<div class="checkbox"> 
    <label> 
     <input type="checkbox" id="checkboxSuccess" value="option1"> 
     Checkbox with success 
    </label> 
    </div> 

请注意,我不建议您编写自己的服务器控件,但这总是一个选项。

是的,使用Page_Init会很好。在代码方面,我会使用以下代码行

For each control in this.Controls 
    if control is textbox or control is textarea or control is select then 
     control.CssClass = "form-control" 
    end if 
Next 

对于像GridView或ListView这样的控制器,它们会生成html表格。所以你可以使用Bootstrap的响应表格控件。

+0

dieng实际上包含所有这些 - 网格,输入等字段,以及复选框和放大器。你能解释一下“修改复选框和单选按钮的html”是什么意思,你的意思是重写Render方法或类似的东西?我不害怕编写自己的html代码,向现有控件添加类,等等。害怕 - 会有一些控件不适用于bootstrap – renathy

+0

Morover - 你能解释一下你打算怎么做“写入函数来添加默认类来控制窗体控件”吗?例如,如果我在Page_Init中,我该怎么做? – renathy