2014-02-11 150 views
0

我已经使用这个脚本从数据库检索数据到文本框。它会提醒网址,但不会检索或显示文本框中的任何内容。这里是在视图中使用我的脚本...为什么文本框的值不显示任何内容?

@section Scripts { 
    @Scripts.Render("~/bundles/jqueryui") 
    @Scripts.Render("~/bundles/jqueryval") 
    @Styles.Render("~/Content/themes/base/css") 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $('#ItemId').blur(function() { 
       var v = $('#ItemId').val(); 
       var url = "RawMaterials/Search/" + v; 
       alert("Testing syetem:"+url); 
        $.getJSON(url, null, function (data, status) { 

        $.each(data, function (index, C) { 
         $("#ItemName").val(C.ItemName); 
         $("#MeasuringUnit").val(C.MeasuringUnit); 
         $("#Rate").val(C.Rate); 
         $("#Quantity").val(C.Quantity); 
         $("#BagSz").val(C.BagSz); 
        }); 
       }); 
      }); 

     }); 

    </script> 
} 

器和控制器......

public JsonResult Search(string id = null) 
     { 
      if (id != null) 
      { 
       var sresult = db.Query<tblItem>("Where ItemId=" + id).ToList<tblItem>(); 
       return Json(sresult, JsonRequestBehavior.AllowGet); 
      } 
      else 
       return null; 
     } 
+0

难道这是一个错字或代码 - $ .getjeson? –

+0

在你做任何事之前。更改db.Query (“Where ItemId =”+ id)与卷曲护腕一起使用...“Where ItemId = {0}”,id。 这是一个主要的安全漏洞与SQL注入 –

+0

我已经解决了这个问题。编辑此行仅var url =“/ RawMaterials/Search /”+ v; – MNAH

回答

0

看来你在这一行

$.getjeson(url, null, function (data, status); 

j可以资本有一些问题在$ .getjson

改变它作为

$.getJson(url, null, function (data, status); 
+0

改变它但没有发生相同的结果... – MNAH

0
<script type="text/javascript"> 
      $(document).ready(function() { 
       $('#ItemId').blur(function() { 
        var v = $('#ItemId').val(); 
        var url = '@Url.Action("Search","RawMaterials")'; 
        alert("Testing syetem:"+url); 
        $.ajax({ 
         type:"POST", 
         url : url, 
         data:{id:v}, 
         success:function(data){ 
         // your code 
         } 
        }); 
       }); 

      }); 

     </script> 
相关问题