1

我已经从下面的示例项目中将一个新的 SQL Server 数据库添加到 App_Data 文件夹中。 http://code.msdn.microsoft.com/How-to-consume-JSON-Web-5db0174b#content

我在 HTML 中添加了 2 个新文本框、1 个按钮供用户输入姓名、地址和单击按钮以保存在数据库中。

但我不知道如何将从 HTML 文本框中输入的值、使用 WinJS.xhr 的按钮传递给 WCF,然后从 SQL Server 数据库执行 CRUD,并将在应用程序中显示输出。

默认.html

<input id="txtName" type="text" />
<input id="txtAddress" type="text" />
<button id="insertbtn">insert</button>

JSONWCFService.svc.cs

public void Insert(int name, int address)
    {
        string connectionString = System.Configuration.ConfigurationManager.
ConnectionStrings["Database1ConnectionString1"].ConnectionString;
        SqlConnection con = new SqlConnection(connectionString);

        string sql = "INSERT INTO Table1(Name, Address) VALUES (@Name, @Address)";
        SqlCommand cmd = new SqlCommand(sql, con);
        cmd.Parameters.AddWithValue("@Name", name);
        cmd.Parameters.AddWithValue("@Address", address);
        try
        {
            con.Open();
            int numAff = cmd.ExecuteNonQuery();
        }
        catch (SqlException exc)
        {
        }
        finally
        {
            con.Close();
        }
    }

IAddService.cs

public interface IAddService{
    [OperationContract]
    [WebInvoke(RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)]
    void Insert(string name, string address);}

默认.js

function insertButtonClick() {

    var baseURI2 = "http://localhost:45573/AddService.svc/Insert";
    var name = document.getElementById('txtName').value;
    var address = document.getElementById('txtAddress').value;

WinJS.xhr({
        type: "POST",
        url: baseURI2,
        headers: { "Content-type": "application/json" },
        data: JSON.stringify(txtName+ txtAddress)
    }).then(function complete(request) {
        var resdata = request.responseText;
    }, function error(er) {
        var err = er.statusText;
    })
}

请帮助更正我的代码或分享一些正确的示例代码(WinJS.xhr 和 JSONWCFService)。

非常感谢!

4

0 回答 0