C# 使用Ajax和Linq更新数据库
我一直在尝试使用Ajax和Linq进行更新,但Ajax调用从未涉及到代码背后的webmethod。我已经更改了用户类以匹配数据库,并使用户对象具有相同的名称,但仍然无法访问后面的代码。我想知道这是不是最好的方式 头版:C# 使用Ajax和Linq更新数据库,c#,asp.net,ajax,asmx,C#,Asp.net,Ajax,Asmx,我一直在尝试使用Ajax和Linq进行更新,但Ajax调用从未涉及到代码背后的webmethod。我已经更改了用户类以匹配数据库,并使用户对象具有相同的名称,但仍然无法访问后面的代码。我想知道这是不是最好的方式 头版: <div class="row"> <asp:TextBox ID="txt_name" runat="server" ClientIDMode="Static"/> </div> <div class="row">
<div class="row">
<asp:TextBox ID="txt_name" runat="server" ClientIDMode="Static"/>
</div>
<div class="row">
<asp:TextBox ID="txt_pass" runat="server" ClientIDMode="Static"/>
</div>
<div class="row">
<asp:DropDownList ID="ddl_item" runat="server" ClientIDMode="Static">
<asp:ListItem Text="item 1" Value="Item1" Selected="True"/>
<asp:ListItem Text="item 2" Value="Item2" />
<asp:ListItem Text="item 3" Value="Item3" />
</asp:DropDownList>
</div>
<div class="row">
<asp:Button runat="server" ID="btn_submit" ClientIDMode="Static" Text="GO"/>
</div>
上传userajax.aspx.cs
[WebMethod]
[ScriptMethod]
public static void SaveUser(WebformTest.Models.User user)
{
using (var db = new dbDataContext())
{
var insert = new User
{
name = user.name,
pass = user.pass,
Item = user.Item
};
db.Users.InsertOnSubmit(insert);
db.SubmitChanges();
}
}
用户类文件:
public class User
{
public string name { get; set; }
public string pass { get; set; }
public string Item { get; set; }
}
我的数据库文件名与我的用户类文件相同
我已经更改了几次,在做了大量的谷歌搜索后,它说要保持你的类文件名与你的js对象文件名相同,我在将要输入数据库的值传递给我的setters时使用了正确的类文件。我想知道如何检查它是否转到代码隐藏的webmethod。我已参考了所有正确的using语句。您的问题很可能是由以下原因引起的:
url: "~/uploadUserAjax/SaveUser"
jQuery
不知道~
,只有ASP.NET
知道
通过使用浏览器附带的开发人员工具
,您可以很容易地检测到此问题。您可以检查网络和/或控制台选项卡是否存在传输和/或JS错误。这些开发工具在所有现代浏览器(Chrome、FF、IE8+)中都可用,您可以按F12
打开它们
此外,您应该使用Visual Studio
的集成调试工具调试ASP.NET网站本身。这样,您可以测试是否输入了WebMethod
在jQuery
中,您使用的是$(“#btn_submit”)
,但asp.net会为该按钮生成另一个ID。考虑用普通的HTML替换按钮。或者只使用$('#')
@Url.Content可以用来翻译你的波浪符号。webmethod永远不会被输入,我有一个断点,我正在逐步通过程序调试,甚至是通过javascript。在jQuery中,你正在使用$('#btn_submit'),但是asp.net为该按钮生成另一个ID。考虑用一个普通的HTML替换按钮。或者只需使用$('y''),我就把文件的名字改成了URL:“/PuxAdvuleAjax。ASPX/SaveAuthor”,它已经工作了。感谢您的帮助,这与URL有关。
url: "~/uploadUserAjax/SaveUser"