将附加的jQuery内容发送到ASP.NET
我正在做一个类似于静态篮的东西,并尝试创建jQuery函数,每次单击“添加”按钮时都可以使用该函数,用这些HTML标记(div、header、list)附加另一个容器 我需要在单击save按钮时将这些附加内容发送到asp.net(VB),而不必在每个jquery添加步骤中回发可能吗。我有一个正在工作的ASP.NET函数,它通过ASP.NET将静态DIV内容正确地发送到数据库,但它无法发送附加的java脚本内容 加成 jQuery将附加的jQuery内容发送到ASP.NET,jquery,asp.net,vb.net,append,Jquery,Asp.net,Vb.net,Append,我正在做一个类似于静态篮的东西,并尝试创建jQuery函数,每次单击“添加”按钮时都可以使用该函数,用这些HTML标记(div、header、list)附加另一个容器 我需要在单击save按钮时将这些附加内容发送到asp.net(VB),而不必在每个jquery添加步骤中回发可能吗。我有一个正在工作的ASP.NET函数,它通过ASP.NET将静态DIV内容正确地发送到数据库,但它无法发送附加的java脚本内容 加成 jQuery var\u行、\u列表、\u菜单、\u项、\u编号; $.each
var\u行、\u列表、\u菜单、\u项、\u编号;
$.each($('.AddItem'),函数(){
$(此)。单击(函数(){
_id=$(this.parent().attr(“id”);
_menu=$(this.parent().find(“h2 a”).text();
_item=$(this.parent().find(“.item”);
AddNewItem(_菜单)
$(_项)。每个(函数(){
_text=$(this.find(“label”).text();
_number=$(this.find(“.helper输入[type=text]”)val();
加法器(_文本,_编号);
});
//附录(_项)
});
});
函数AddNewItem(_菜单){
_行=$(“#”);
_行。追加(“+”菜单+”);
_列表=$(“”);
_list.appendTo(_行)
};
函数加法器(_文本,_编号){
_行=$(“#”);
var_li=$(“- ”)
_html(“”+_编号+“”+“”+_文本+“”)。附录(_列表)
};
一般来说,您可以使用jQuery的$.ajax()
函数将数据发送到服务器,并且在服务器上有一个处理程序(或页面,尽管首选处理程序)来接收数据并执行服务器端处理。因此,每次向页面添加新元素时,您都可以随后将数据发送到服务器。(并且可能返回一条指示成功的消息,因此如果服务器端代码失败,那么客户端代码可以通过删除元素并通知用户错误来响应,这样元素就不会在客户端和服务器之间失去同步。)客户端所做的更改不会反映在服务器端。我过去解决这个问题的方法是将数据序列化到客户端(可能是json),然后将其放在隐藏字段中,或者使用ajax将其发送到服务器。感谢David,我无法获得足够的关于在所有模块中使用ajax并将其延迟2年的知识,因此无法从哪里开始。有没有一种方法可以让这个想法在没有或没有任何与我相近的好例子/参考的情况下发挥作用:)
<div class="grid">
<h1>ITEMS TO ADD</h1>
<div class="row" id="fruits">
<h2><a href="">Fruits</a></h2>
<a class="AddItem" href="javascript:void(0)">+</a>
<div class="item" id="1" rel="apple">
<label for="apple">APPLE</label>
<div class="helper">
<input name="my-input" size="1" type="text" value="0" />
</div>
</div>
</div>
</div>
<div class="appender" id="basket" runat="server">
</div>
Private Function GetHtmlData(ByVal HTML As HtmlGenericControl) As String
Dim SB As New StringBuilder()
Dim SW As New StringWriter(SB)
Dim HTW As New HtmlTextWriter(SW)
HTML.RenderControl(HTW)
Return SB.ToString()
End Function
'''' // And I call the function in part of my code with:
objDb.cmdUpdate.Parameters("@Data").Value = GetHtmlData(basket)
var _rows, _list, _menu, _item, _number;
$.each($('.AddItem'), function () {
$(this).click(function () {
_id = $(this).parent().attr("id");
_menu = $(this).parent().find("h2 a").text();
_item = $(this).parent().find(".item");
AddNewItem(_menu)
$(_item).each(function () {
_text = $(this).find("label").text();
_number = $(this).find(".helper input[type=text]").val();
AddElements(_text, _number);
});
//AddElements(_item)
});
});
function AddNewItem(_menu) {
_rows = $('#<%= basket.ClientID %>');
_rows.append("<h2>" + _menu + "</h2>");
_list = $("<ul>");
_list.appendTo(_rows)
};
function AddElements(_text, _number) {
_rows = $('#<%= basket.ClientID %>');
var _li = $('<li>')
_li.html('<span class="marker">' + _number + ' </span>' + ' <span class="item">' + _text + '</span>').appendTo(_list)
};