Надеюсь, есть решение для этого. То, что у меня есть, несколько ограничивает. Прежде всего, я использую главную страницу в моем источнике, которая не позволяет мне вставлять функции javascript в мое тело aspx. Когда я пытаюсь получить сообщение об ошибке "Эта страница содержит разметку, которая недопустима при прикреплении к главной странице", так как моя страница определяется как:
<%@ Page Title="" Language="C#" MasterPageFile="~/nav/HorizMenu.Master" AutoEventWireup="true" CodeFile="TEST.aspx.cs" Inherits="WebForms_TEST" %>
<%@ MasterType virtualpath="~/nav/HorizMenu.Master" %>
Моя следующая проблема заключается в том, что я заполняю таблицу с помощью элемента управления заполнением asp:
ASPX:
<div class="row">
<div class="col s12">
<ul class="tabs">
<li class="tab"><a href="#Total">Total (
<asp:PlaceHolder ID="DBTotalCount" runat="server"></asp:PlaceHolder>
<!--Records #-->)</a></li>
<li class="tab"><a href="#Pending">Pending (
<asp:PlaceHolder ID="DBPendingCount" runat="server"></asp:PlaceHolder>
)</a></li>
<li class="tab"><a href="#Approved">Approved (
<asp:PlaceHolder ID="DBApprovedCount" runat="server"></asp:PlaceHolder>
)</a></li>
</ul>
</div>
</div>
CS:
//Set up Total column
for (var i = 0; i < ds.Tables["tblTotal"].Rows.Count; i++)
{
//force empty string to prevent null errors
var rowName = string.IsNullOrEmpty(ds.Tables["tblTotal"].Rows[i]["Name"].ToString()) ? "" : ds.Tables["tblTotal"].Rows[i]["Name"];
var rowAddress = string.IsNullOrEmpty(ds.Tables["tblTotal"].Rows[i]["Address"].ToString()) ? "" : ds.Tables["tblTotal"].Rows[i]["Address"];
var rowId = string.IsNullOrEmpty(ds.Tables["tblTotal"].Rows[i]["ID"].ToString()) ? "" : ds.Tables["tblTotal"].Rows[i]["ID"];
var rowGuid = string.IsNullOrEmpty(ds.Tables["tblTotal"].Rows[i]["CustGUID"].ToString()) ? "" : ds.Tables["tblTotal"].Rows[i]["CustGUID"];
var rowDob = string.IsNullOrEmpty(ds.Tables["tblTotal"].Rows[i]["DateOfBirth"].ToString()) ? "" : ds.Tables["tblTotal"].Rows[i]["DateOfBirth"];
var rowUrl = startURL(Request["isadmin"] != "0", rowGuid.ToString());
//write out this row
htmlTotal.Append("<tr>");
htmlTotal.Append(@"<td>");
htmlTotal.Append(@"<a href=" + rowUrl + "> " + rowName + @"</a>");
htmlTotal.Append(@"</td>");
htmlTotal.Append(@"<td>");
htmlTotal.Append(@"<a href=" + rowUrl + "> " + rowAddress + @"</a>");
htmlTotal.Append(@"</td>");
htmlTotal.Append(@"<td>");
htmlTotal.Append(@"<a href=" + rowUrl + "> " + rowId + @"</a>");
htmlTotal.Append(@"</td>");
htmlTotal.Append(@"<td>");
htmlTotal.Append(@"<a href=" + rowUrl + "> " + rowDob + @"</a>");
htmlTotal.Append(@"</td>");
htmlTotal.Append(@"<td>");
htmlTotal.Append(@"<input type=""checkbox"" Enabled=""true"" name=""chkTotal" + i + @""" value=""" + "VAL" + i + @""">"); //email check box
htmlTotal.Append(@"</td>");
htmlTotal.Append("</tr>");
}
}
else
{
htmlTotal.Append("<tr>");
htmlTotal.Append("<td align='center' colspan='6'>No Results Found</td>");
htmlTotal.Append("</tr>");
htmlTotal.Append("</table>");
htmlTotalCount.Append("0");
}
//link the page dynamic control back to the html string builder code
DBTotal.Controls.Add(new Literal { Text = htmlTotal.ToString() });
DBTotalCount.Controls.Add(new Literal { Text = totalRecords.ToString() });
htmlTotalCount.Append(" of " + totalRecords + " results");
DBTotalCount2.Controls.Add(new Literal { Text = htmlTotalCount.ToString() });
TotalPagination.Controls.Add(new Literal { Text = htmlTotalPagination.ToString() });
Вы можете увидеть выше, где я начал добавлять в флажки.
Моя задача заключается в том, что мне нужно добавить флажок на каждом цикле строки, который я могу отметить, и когда я нажимаю кнопку управления asp, я могу вернуть значение, указанное в данной строке для каждого флажка, что пользователь проверил.
Учитывая, что моя главная страница не позволяет мне использовать JS, и что я использую элемент управления заполнителями для создания HTML-кода страницы на лету, можно предположить, возможно ли то, что мне нужно сделать, и если да, то как
Спасибо за вашу помощь!