簡體   English   中英

在ASP.NET中檢索動態創建的表的單元格值

[英]Retrieve cell value of dynamically created table in ASP.NET

我通過javascript向動態創建的表添加行,我想在回發時獲取其值。

這是表格:

<table id="summ" width="350px" border="1" >

用於添加行的Javascript代碼段:

 $('#summ > tbody:last').append('<tr><td><input type="button" id="delete" value="Delete"></td><td>' + sup + '</td><td>' + qty + '</td><td><input type="text"></td></tr>');

單擊按鈕后,如何獲取附加到表格的單元格的值? “summ”無法識別,因為如果我在表標記上放置runat=server ,則Javascript不起作用。

服務器不知道你在使用DOM。 您可以使用HiddenFields發回值:

var sup = "test";
var qty = 123;

$('#summ > tbody:last').append('<tr><td><input type="button" id="delete" value="Delete"></td><td>' + sup + '</td><td>' + qty + '</td><td><input type="text"></td></tr>');
$('#HiddenField_sup').val(sup);
$('#HiddenField_qty').val(qty);      

在服務器上:

Response.Write(HiddenField_qty.Value);
Response.Write(HiddenField_sup.Value);

您可以在代碼后面定義AJAX(WebMethod)方法(添加System.Web.Services的引用)並使用$ .ajax或$ .post來請求它。 看看我發布的代碼片段供您參考。

Sample.aspx(代碼內聯)

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Services" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    [WebMethod]
    public static string SendData(string sup,string qty)
    {
        return "OK : " + sup + " " + qty;
    } 
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Sample Page</title>
    <script src="../script/jquery-1.7.1.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            var sup1 = 10; 
            var qty1 = 20;
            $("#btn1").click(function () {
                var arg = '{sup: ' + sup1 + ',qty:' + qty1 + '}';
                $.ajax({
                    type: "POST",
                    url: "Sample.aspx/SendData",
                    data: arg,
                    dataType: "json",
                    contentType: "application/json; charset=utf-8",
                    success: function (msg) {
                        alert(msg.d);
                    },
                    error: function (msg) {
                        alert("Error: " + msg);
                    }

                });
            });
        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
       <input type="button" id="btn1" value="Save" />
    </div>
    </form>
</body>
</html>

如果要使用“runat”屬性,則在其中添加一個空並編寫ClientID屬性。

<table  runat="server"  id="summ" width="350px" border="1" >
 <tbody>
   <tr></tr>
 </tbody>
</table>

jQuery代碼

$("#<%=summ.ClientID%> > tbody:last").append('<tr><td><input type="button" id="delete" value="Delete"></td><td>' + sup1 + '</td><td>' + qty1 + '</td><td><input type="text"></td></tr>');

要么

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM