【问题标题】:How to replace gridview with html code? [closed]如何用html代码替换gridview? [关闭]
【发布时间】:2015-05-10 17:29:11
【问题描述】:

做一个基本的网络应用程序。使用 gridview 时,冻结列、垂直滚动等有许多限制。即使我们将布局与 html 混合,gridview 仍然存在对齐问题并且没有响应。

所以我想使用 html、css 前端和 asp.net (c#) 作为后端。使用 html 显示来自数据库的数据并不神奇。然而,对于编辑数据、获取用户输入、保存到数据库(CRUD 操作),gridview 的事件触发器很容易实现。例如分别准确引用bound field和id。

我面临的问题是,我不确定如何捕获用户编辑、将数据事件保存在 html 中并通过 asp 代码将数据传递到数据库中。请问有什么建议吗?

【问题讨论】:

    标签: c# html css asp.net gridview


    【解决方案1】:

    您可以像执行任何其他 HTML 应用程序一样执行此操作。您将新数据发布到服务器。您可以通过posting back to the server 执行此操作,也可以使用AJAX 发布到单独的服务。通常使用 AJAX,您将与 REST 服务器通信,而 ASP.NET 的标准服务器是 Web API

    典型的 AJAX 解决方案将使用 JavaScript 将数据收集到一个对象中。然后它将发布到服务器,通常使用jQuery 之类的工具来简化调用。您将告诉它要发布到哪个 URL。 Web API 将侦听该 URL,接收发布的对象,然后处理与数据层的通信以进行这些更改。

    First Name: <input type="text" id="FirstNameTB"><br />
    Last Name: <input type="text" id="LastNameTB"><br />
    <button type="button" onclick="submitBtnClicked();">Submit</button>
    
    <script>
    function submitBtnClicked(){
        var person = { FirstName: $("#FirstNameTB").val(), LastName: $("LastNameTB").val()};
        $.ajax({
         method: "POST",
         url: "api/person",
         data: person    
         }).success(function(){
            alert("Person submitted.");
        });
    }
    </script>
    

    网络 API:

    public class PersonApiController : ApiController // https://msdn.microsoft.com/en-us/library/system.web.http.apicontroller%28v=vs.118%29.aspx
    {
        public void Post(Person person)
        {
            DataLayer.Save(person);
        }
    }
    

    【讨论】:

    • +1 用于解释。但这看起来像是 asp.net mvc 的 js。我没有使用 mvc 模型。只是简单的旧东西来理解这个概念。 url: "api/person",我不知道如何使用它,必须找出来。我只想将对象作为数据表发送到 asp.net 端。
    • @aspiring 这种方法非常适用于 Web 表单。不需要 MVC。 JavaScript 仍然是 JavaScript。至于我的示例代码发布到的 URL,它是一个 Web API 端点。我在回答中提供了一个链接。如果您不习惯使用 Web API 端点,可以将其替换为通用处理程序 (.ashx)。但是您失去了自动模型绑定功能(Web API 将接受 HTTP POST 请求并自动尝试将发布的 JSON 转换为 C# Person 实例)和良好的路由(“/api/person” URL 将变成类似于“/ AddPerson.ashx"")。
    • @aspiring 您不能将其作为数据表发送。 JavaScript 不知道如何创建数据表。而且数据表很丑。将POCO's 作为视图模型传递,就像我在示例中使用person 实例所做的那样。
    猜你喜欢
    • 2023-02-21
    • 2016-07-08
    • 2013-08-24
    • 2021-11-14
    • 2011-06-27
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 2020-06-07
    相关资源
    最近更新 更多