使用jquery我將gridview值附加到表中。 如何在後面的代碼中讀取動態創建的td值。如何訪問html表的td值來隱藏代碼?
我jQuery代碼是
$(function() {
SetEmptyMessage();
$("[id*=cbSelect]").on("click", function() {
var selected = $('[id$=gvCompanyListing] tr td input[type=checkbox]:checked');
if (selected.length > 0) {
$(selected).each(function() {
var appendRow = $(this).closest('tr').clone(true);
var row = $(this).closest('tr');
$(row).remove();
$("[id$=tblAssigned]").append(appendRow);
});
SetEmptyMessage();
return false;
}
else {
var selected = $('[id$=tblAssigned] tr td input[type=checkbox]:not(:checked)');
if (selected.length > 0) {
$(selected).each(function() {
var appendRow = $(this).closest('tr').clone(true);
var row = $(this).closest('tr');
$(row).remove();
$("[id$=gvCompanyListing]").append(appendRow);
});
}
SetEmptyMessage();
return false;
}
});
});
function SetEmptyMessage() {
if ($('[id$=tblAssigned] td').closest('tr').length == 0) {
//var colspan = $('[id$=gvAssigned] th').length;
//$('[id$=tblAssigned]').append('<tr class="empty"><td colspan=' + colspan + '>No records were found</td></tr>');
} else {
$('[id$=tblAssigned]').find('.empty').remove();
}
if ($('[id$=gvCompanyListing] td').closest('tr').length == 0) {
//var colspan = $('[id$=gvCompanyListing] th').length;
//$('[id$=gvCompanyListing]').append('<tr class="empty"><td colspan=' + colspan + '>No records were found</td></tr>');
} else {
$('[id$=gvCompanyListing]').find('.empty').remove();
}
}
我的aspx代碼
<asp:GridView ID="gvCompanyListing" runat="server" AutoGenerateColumns="False" ShowHeader="False" GridLines="None" >
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="cbSelect" CssClass="gridCB" runat="server" ItemStyle-Width="10%"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="client_name" SortExpression="CompanyInfo" ItemStyle-Width="92%" ItemStyle-Height="1px" ControlStyle-CssClass="companyInfo">
</asp:BoundField>
</Columns>
</asp:GridView>
<table id="tblAssigned" runat="server">
</table>
背後我有代碼,
protected void btnRequestAccess_Click(object sender, EventArgs e)
{
try{
System.Text.StringBuilder strBuild = new System.Text.StringBuilder();
string strUserName = Session["UserName"].ToString();
int nUserName = strUserName.Length;
int nRemaing = nUserName - 21;
//string strActualName = strUserName.Substring(21, nRemaing);
strBuild.Append("Request to set Clients to Hays user " + strUserName + "\n");
int nval = 0;
for (int i = 0; i <= this.tblAssigned.Rows.Count; i++){
HtmlTable td = (HtmlTable)tblAssigned.FindControl("companyInfo");
if (td != null){
strBuild.Append(tblAssigned.Items[i].Text.ToString()+"\n")
nval = nval + 1;
}
}
}
}
如何獲得tblAssigned值作爲文本後面的代碼我做了什麼錯誤?
for (int i = 0; i < tblAssigned.Rows.Count; i++)
{
for (int j = 0; j < tblAssigned.Rows[i].Cells.Count; j++)
{
string cellValue= tblAssigned.Rows[i].Cells[j].InnerHtml;
// do something here
}
}
我們可以像這樣訪問,但是代碼亙古不進入j循環
表數據本身不會被髮回服務器。你需要表單控件。可能最容易做的事情就是創建隱藏的控件,然後一旦將它們發佈到服務器上,您可以通過[Request.Form](https://msdn.microsoft.com/en-us/) library/system.web.httprequest.form(v = vs.110).aspx)屬性。 – mason
我不能讓你,對不起 – josna