以下のサンプル プロジェクトから、新しい SQL Server データベースを App_Data フォルダーに追加しました。 http://code.msdn.microsoft.com/How-to-consume-JSON-Web-5db0174b#content
ユーザーが名前、住所を入力するためのHTMLに1つのボタン、データベースに保存するためのクリックボタンを追加しました。
しかし、WinJS.xhr を使用して HTML テキスト ボックス、ボタンから入力された値を WCF に渡し、SQL Server データベースから CRUD を実行してアプリに出力を表示する方法がわかりません。
default.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);}
default.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) を共有してください。
どうもありがとうございました!