将旧的 VB.Net 网络项目转换为新的响应式项目

Convert an old VB.Net web project to a new responsive one

我正在尝试将一个旧的 VB.Net web 项目转换为一个新的响应式项目,但在将代码隐藏代码转换为 MVC 时遇到了困难,因为它太复杂和庞大,而且我没有时间创建一个新的数据库。您推荐哪些框架或解决方案?抱歉我的英语不好

到底为什么数据库会在网站上有任何反映,以及该网站是否响应?

事实上,当从一个软件平台过渡到另一个软件平台时,如果数据库已经是 SQL 服务器,则需要对该数据库进行零更改。事实上,这是您可以恢复、重复使用且根本无需更改的一件事。它是应用程序中最可重用的部分,无需任何更改即可 100% 重用。因此,在建议、暗示或指责数据库是重写软件的任何因素方面,我一定是失败了最严重的问题之一。

另一方面,为什么要重写?

至少 10 年来,asp.net webforms 网站的默认设置包括 bootstrap,因此基于这一事实,所有网页都可以而且应该 100%“响应”。

我的意思是,假设我们放入了一个 gridView。

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    If Not IsPostBack Then
        LoadGrid()
    End If

End Sub

Sub LoadGrid()

    Using conn As New SqlConnection(My.Settings.TEST4)
        Using cmdSQL As New SqlCommand("SELECT * from tblHotels  Order by HotelName ", conn)

            conn.Open()
            GridView1.DataSource = cmdSQL.ExecuteReader
            GridView1.DataBind()

        End Using
    End Using

End Sub

并说出这个标记:

       <div>

        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            DataKeyNames="ID">
            <Columns>
                <asp:BoundField DataField="FirstName" HeaderText="FirstName"  />
                <asp:BoundField DataField="LastName" HeaderText="LastName" />
                <asp:BoundField DataField="HotelName" HeaderText="HotelName" />
                <asp:BoundField DataField="Description" HeaderText="Description" />

                <asp:TemplateField HeaderText="View">
                    <ItemTemplate>
                        <asp:Button ID="cmdRow" runat="server" Text="Row Click"
                            OnClick="cmdRow_Click"
                            />

                    </ItemTemplate>
                </asp:TemplateField>

            </Columns>
        </asp:GridView>

        </div>

好的,所以我们有这个:

所以,网格没有填满整个页面。

让它响应。

只需将 CsSCass = "table table-hover" 添加到 GV

像这样:

       <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
      CssClass="table table-hover"
            DataKeyNames="ID">

按钮 CssClass="btn"

急!! - 网格现在是响应式的 - 像这样填充整个页面:

很快,我们现在得到这个:

我们甚至可以获得悬停效果,您甚至可以完全响应地重新调整该网格的大小 - 一直到良好的移动渲染。

因此,现在网格是 100% 成熟的 bootstrap“响应式”网格。我花了更少的时间来做这个改变然后写这个 post!!!

您可以开始并在 PHP 或 MVC 中构建一个网格 - 您会得到几乎相同的结果 - 一个不错的 bootstrap“响应式”网格。

所以,数据库是最后一个,也是你最不担心的。

我的意思是,因为您突然决定转换为 MVC?零零零零为您打造一个响应式网站 - 它对您没有任何帮助。

所以,我不明白为什么不对现有网页简单介绍 bootstrap 类 是不够的?您不会通过某种魔术来获得响应式网站,因为您现在采用 MVC,您只能通过引入响应式框架(比如 bootstrap)来获得响应式网站。

正如我所说,甚至 10 年以上的 asp.net 网站基于 webforms 在 99% 的情况下已经包含 bootstrap 框架 - 事实上默认包含。

但无论如何,100% 忽略以上?数据库影响这个结果和结果为零,并且不影响生成的网站将是响应结果的多少,多少,甚至一点。

我的意思是,当然,在 jQuery.UI 中加入一些不错的对话等,您甚至可以将 bootstrap 对话与 jQuery 一起使用 - 再一次,所有这一切都 100% 有效在那个 webforms 应用程序中很好。

我的意思是把所有的金钱和时间都花在转换成 MVC 上?这表明你坐下来,有了一堆新工作和新功能,开发团队是一群非常精通 MVC 的开发人员,因为一般来说,MVC 需要更多的努力,更多的时间,以及更多的工作来产生与 webform 相同的效果。尤其是这种情况,因为对于数据列表、网格视图,尤其是列表视图?

为什么?

在 MVC 中,您拥有自己的。当你 google 一些网格解决方案时,你会得到 50 种不同的方法,因为在 MVC 中没有定义的 Listview 或控件。更好的是,我发现在 webforms 应用程序中具有更高的一致性,因为如果您使用 Gridview,那么相同的事件模型适用于 listview、datalist、repeater 和更多控件。

使用 MVC,您必须构建并设计如何放置网格,因为您没有内置的此类控件选择。

MVC 的另一个优点是它允许您扩展到更多用户,但在 99% 的情况下,如果 webforms 代码做得好,性能的提高并没有真正实现。与 MVC 相比,糟糕的代码和糟糕的设计与 Web 表单的关系为零。这一切都归结为良好的设计。但是,由于使用 MVC,您可以更多地依靠自己来处理几乎任何事情——包括像 listview 等这样的事情,您经常会发现 MVC 应用程序中有更多的混乱和缺乏一致性,因为没有人定义或建立意味着显示说一个网格作为列表视图不存在。

事实上,既然你必须出去上网并找到第 3 方控制?好吧,那么使用 MVC 而不是 PHP 或其他一些系统的全部原因就完全超出了 window。 (因此新 asp.net 开发人员的采用率确实受到了很大影响)。

尽管如此,关于数据库系统的选择或事实对您决定围绕像 bootstrap 这样的响应式框架构建网站没有任何影响,并且在事实上,正如我所说,无论如何,您可以而且应该将 bootstrap 引入那些现有的网络表单 - 结果不会比采用 MVC 时或多或少地“响应”。