Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我可以从JavaScript MVC连接到SQL吗?_C#_Java_Javascript_Html_Asp.net Mvc - Fatal编程技术网

C# 我可以从JavaScript MVC连接到SQL吗?

C# 我可以从JavaScript MVC连接到SQL吗?,c#,java,javascript,html,asp.net-mvc,C#,Java,Javascript,Html,Asp.net Mvc,我正在填充将添加到Sql数据库的名称列表。在这个简单的例子中,如何在不刷新页面的情况下将信息发送到SQL server <script type="text/javascript"> function addNewRow() { $('#displayPropertyTable tr:last').after('<tr><td style="font-size:smaller;" class="name"></td><td styl

我正在填充将添加到Sql数据库的名称列表。在这个简单的例子中,如何在不刷新页面的情况下将信息发送到SQL server

<script type="text/javascript">
function addNewRow() { 
    $('#displayPropertyTable tr:last').after('<tr><td style="font-size:smaller;" class="name"></td><td style="font-size:smaller;" class="address"></td></tr>');
    var $tr = $('#displayPropertyTable tr:last');
    var propertyCondition = $('#txtPropAddress').val();
    if (propertyCondition != "") {
        $tr.find('.name').text($('#txtPropName').val());
        $tr.find('.address').text($('#txtPropAddress').val());        
    }
} 
</script>
...
<table id="displayPropertyTable" width= "100%">
<tr>
     <td style="font-size:smaller;" class="name"></td>
     <td style="font-size:smaller;" class="address"></td>
</tr>
</table>
...
<table>
<tr>
     <td><b>Name</b></td>
     <td colspan="2"><input id="txtPropName" type="text" /></td>
</tr>
<tr>
     <td><b>Address</b></td>
     <td colspan="2"><input id="txtPropAddress" type="text" /></td>
</tr>
</table>
...
<button onclick="addNewRow();">Add</button>

函数addNewRow(){
$('#displayPropertyTable tr:last')。在('')之后;
var$tr=$('displayPropertyTable tr:last');
var propertyCondition=$('#txtproAddress').val();
如果(属性条件!=“”){
$tr.find('.name').text($('#txtPropName').val());
$tr.find('.address').text($('#txtproaddress').val());
}
} 
...
...
名称
地址
...
添加

通过JQuery的
getJSON()使用AJAX是我经常使用的一种方法
getJSON()
是我相信的
ajax()
方法的包装器

下面是一个JS方法的示例,该方法序列化表单数据,并执行ajax请求传递序列化数据

如果在这种情况下成功,您可以传回一个Json对象。在我的示例中,我只是传回一个表示“Success”的字符串。因此,对于我的简单示例,您将看到一个警报框,其中显示成功

function addRowsViaAJAX() {

    var d = new Date(); // IE hack to prevent caching

    $.getJSON('/ControllerName/ActionName', { Data: $('#MyForm').serialize(), Date: d.getTime() }, function(data) {
        // callback on success
        alert(data);
    }, 'json');
}
在您的控制器中,这里有一个用于AJAX的操作示例 您的数据以线性字符串的形式序列化,因此您必须解析它,这非常简单。然后获取数据并执行各自的数据库逻辑。然后返回一个Json对象

public virtual JsonResult ActionName(string data)
{
   // take the data and parse the linear stream... I like to use the FormCollection
   FormCollection collection = new FormCollection();

   foreach (string values in data.Split('&')){
     string[] value = values.Split('=');
     collection.Add(value[0], value[1]);
   }
   // Now do your database logic here
   return Json("Success");
}

您可以使用.ajax方法来实现这一点

var prop= {};

prop["Name"] = $("#txtPropName").val();
prop["Address"] = $("#txtPropAddress").val();

$.ajax({
     type: "POST",
     contentType: "application/json; charset=utf-8",
     url: "/Admin/AddProperty",
     data: JSON.stringify(release),
     dataType: "json",
     success: function(result) {
          // do something on success                      

     },
     error: function(result) {
         // do something on error 
     }  
 });
然后在控制器中,您可以执行以下操作:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult AddProperty(Property prop)
{
   // add property to database, etc.        
   return Json(true);
}

您可以从中获取JSON.stringify。

我会将该表包装成一个表单,然后使用AJAX POST将数据发送回实际执行插入的服务器端页面

$.ajax({
    type: 'POST',
    url: [URL_TO_PAGE_THAT_DOES_DB_INSERT],
    data: $(_('[YOURFORMID')).serialize(),
    success: function(data) {
               //do something

    }
        error: function(xhr){
              //do something else
        }
});

Ajax:ASP.NET MVC非常支持服务器端服务,可以轻松地从客户端JavaScript(例如通过JQuery)调用这些服务。