Page tree
Skip to end of metadata
Go to start of metadata

 描述

   定义一个可以通过Post请求访问的Web API。

 获取参数方法

   当通过HTTP的POST调用方法时,可以通过ServerApi的Context属性获取请求的详细信息。Context属性是Microsoft.Owin名称空间的IOwinContext类型,通过Request属性可以获取HTTP请求的全部信息。

   通过Context.Request.ReadFormAsync属性可以获取通过URL传递的参数。

 示例代码

   下面的C#代码中,自定义Web API类 “MyAPI” ,该类包含一个post方法 “TestPostAPI”:

public class MyAPI : ForguncyApi
    {
        [Post]
        public void TestPostAPI()
        {
            //获取post请求的数据
            var form = this.Context.Request.ReadFormAsync().Result;
            var name = form["name"];
            var department = form["department"];
            //转换数据类型为string
            string result = Convert.ToString(name) + Convert.ToString(department);
            this.Context.Response.Write(result.ToString());
            //使用AddTableData方法向员工表中添加数据
            this.DataAccess.AddTableData("员工表", new Dictionary<string, object> { { "姓名", name }, { "部门", department } });
        }
    }

   在前端使用以下JavaScript代码调用TestPostAPI方法,具体关于post方法请参见post方法

//获取当前页面
var page = Forguncy.Page;
//获取页面上的单元格
var cell1 = page.getCell("name");
var cell2 = page.getCell("department");
//获取单元格的值
var data = {
    name: cell1.getValue(),
    department: cell2.getValue()
};
//发送请求到服务器
Forguncy.Helper.post("customapi/myapi/testpostapi", data, function () {
    alert("活字格");
});
说明
post方法的url参数"customapi/myapi/testpostapi"中,myapi为自定义的类名,testpostapi为方法名。


 操作步骤

  创建服务端Web API应用程序集,具体请参见创建服务端Web API应用程序集

  在.cs文件中输入代码。

  在解决方案资源管理器中,右击解决方案,在右键菜单中选择“生成”。

  在设计器中,选择“文件->设置->自定义Web Api”,单击“上传Web Api Assembly”,上传生成的dll文件。

  在页面中,选择一个单元格区域,将其单元格类型设置为按钮,设置其命令为JavaScript命令,并输入JavaScript代码。

  运行页面,单击提交按钮,就会弹出警告框。

关闭警告框,表格刷新后,就可以看到员工表中新增的数据。

  • No labels