電子メールを持つフィールドを持つ値を返すためにこのSQLクエリを使用するNet MVCコントローラ。 電子メールがクエリによって渡されて読み込まれていますが、値がJsonを使用したビューで転送されていません。ASP.Net MVC - Jquery Returning undefined
これは私のコントローラのコードです:
[HttpGet]
public JsonResult hhhhhh(string email)
{
SqlConnection cn = new SqlConnection(@"Data Source=Example;Initial Catalog=Example;User ID=example;Password=example;");
SqlCommand cmd = new SqlCommand("SELECT anr.Name FROM AspNetUsers anu " +
"LEFT JOIN AspNetUserRoles anur ON (anur.UserId = anu.Id) " +
"LEFT JOIN AspNetRoles anr ON (anr.Id = anur.RoleId) " +
"WHERE anu.Email = '" + email + "'", cn);
cn.Open();
cmd.ExecuteNonQuery();
return Json(cmd, JsonRequestBehavior.AllowGet);
}
は、これは私のビューです:
<script>
$(document).ready(function() {
var str = '@User.Identity.GetUserName()'; //returns the current email
$.getJSON("/Student/hhhhhh", {
email: str
}, function(data) {
alert(data.cmd)
if (data == "Admin") {
alert("asddsadas");
} else {
alert("n deu");
}
/* if (data = "Admin") {
alert("DEUEUEUEUEU");
}
else {
alert("ndeu");
}*/
});
</script>
これは私に未定義の値を返しています。 皆さんはエラーを特定できますか?
あなたは、'は、ExecuteNonQueryを使用している() ':あなたが直接あなたが辞書またはオブジェクトのリストを必要とするJsonResultにSqlCommandオブジェクトを渡すことはできません、このコードを試してみてください。代わりに 'ExecuteReader()'を試して、その結果をコマンドではなく必要な形式で返します。以下の「クエリデータ」セクションを参照してください。http://csharp-station.com/Tutorial/AdoDotNet/Lesson03 –