Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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
Asp.net jqueryappend+;代码隐藏_Asp.net_Jquery_Append_Code Behind - Fatal编程技术网

Asp.net jqueryappend+;代码隐藏

Asp.net jqueryappend+;代码隐藏,asp.net,jquery,append,code-behind,Asp.net,Jquery,Append,Code Behind,我使用jquery动态地向divStaff添加行: $("span[id$='lblAddStaff']").click(function() { //$(".staff_tpl").find("input[id$='txtRate']").val("0,00"); var staff_row = $(".staff_tpl"); staff_row.find(".staff_row").attr("id", "Emp" + counter);

我使用jquery动态地向divStaff添加行:

$("span[id$='lblAddStaff']").click(function() {
        //$(".staff_tpl").find("input[id$='txtRate']").val("0,00");
        var staff_row = $(".staff_tpl");
        staff_row.find(".staff_row").attr("id", "Emp" + counter);
        $("div[id$='divStaff']").append(staff_row.html());
        counter += 1;            
    });
我要添加的行位于隐藏的div中,class=“.staff\u tpl” 我将此div的内容附加到divStaff

当我提交页面(回发)时,如果我尝试这样显示,则生成的divStaff始终为空:

lblTest.Text = divStaff.innerHtml.ToString
基本上,我正在操作一个div客户端,我想通过aspx页面的代码访问它的服务器端。我想我缺少了一个基本原则。

这是不可能做到的。
如果要访问在页面上创建的数据,必须将其放在输入字段中(可能是隐藏的),并在发布后使用
Request.Form[“MyHiddenFieldName”]

未发布到服务器
runat=“server”
元素是在ViewState中选择的(实际上是一个大字符串——您可以在页面的源代码中看到它),给出了连续性的抽象(或者是它的幻觉)。但是,该sting不知道您在DOM中所做的更改。
在处理
runat=“server”
元素时,您将看到您在服务器端所做的最后更改,但客户端更改已消失。

提交时,只有
(以及文本区域、选项等)值被发布到服务器,因此在页面发布后,服务器上会看到在客户端更改这些值

我的印象是,向div添加runat=“server”和唯一的ID可以让您在服务器端访问它?不是这样吗?您可以使用服务器端的runat=“server”访问div。@phoenix-当然可以,但不能使用jQuery进行更改。我有什么地方错了吗?谢谢Kobi,你编辑的帖子澄清了很多。对DOM客户端的任何更改都不会被服务器端捕获,这是有道理的。我将尝试使用输入元素。