[asp.net-mvc]我可以从 JavaScript MVC 连接到 SQL?

发布时间: 2017/3/25 2:55:47
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我填充列表将添加到我的 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>

解决方法 1:

使用 AJAX 通过 JQuery 的 getJSON() 是一种方法,我用了很多。 getJSON() 是包装 ajax() 方法我相信。

下面是一个示例将窗体数据序列化的 JS 方法并没有 ajax 请求传递序列化的数据。

如果成功的话在这种情况下你可以传递回一个 Json 对象。在我的示例只是通过返回一个字符串,表示"成功"。所以你将看到一个警告框,现在显示成功,为我简单的示例。

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");
}
官方微信
官方QQ群
31647020