我有一個數獨網格,包含81個單元格(asp:textboxes),我標記爲:_c11 .._ c12 .._ c13 .._ c99 我試圖格式化文本框頁面加載。目前的代碼,我將返回81所控制,但是當我在最後一個循環做格式化它給我一個空引用錯誤.. 原諒我糟糕的編碼..請:)Page_Load上的格式化控件(81文本框)
ArrayList sudokuCells = new ArrayList();
for(int i = 11; i < 100; i++)
{
if (i == 20 || i == 30 || i == 40 || i == 50 || i == 60 || i == 70 || i == 80 || i == 90)
continue;
else
{
TextBox cell = (TextBox)Page.FindControl("_c" + i.ToString());
sudokuCells.Add(cell);
}
}
_c11.Text = sudokuCells.Count.ToString();
foreach (TextBox cell in sudokuCells)
{
cell.ForeColor = System.Drawing.Color.Red;
cell.MaxLength = 1;
}
這是在Page_Load中,我不完全是爲什麼它給了我一個空引用,因爲我引用單元格中的所有文本框控件,然後將該引用添加到數組列表。
顯然,我錯過了一些人會請教育我?
好的.. Page.FindControl(「_ c11」)返回一個空值;即使我已經在我的aspx頁面中定義了它們。
<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="Content.aspx.cs" Inherits="Sudoku.Content" %>
<asp:Content ID="_content1" ContentPlaceHolderID="head" runat="server">
<link rel="stylesheet" type="text/css" href="styles/style.css" />
</asp:Content>
<asp:Content ID="_content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<div id="wrapper">
<table cellpadding="0" cellspacing="0" class="sudokuTable">
<tr>
<td class="column1NoBottomBorder"><asp:TextBox ID="_c11" runat="server" CssClass="sudokuCell"></asp:TextBox></td>
<td class="column2NoBottomBorder"><asp:TextBox ID="_c12" runat="server" CssClass="sudokuCell"></asp:TextBox></td>
<td class="column3NoBottomBorder"><asp:TextBox ID="_c13" runat="server" CssClass="sudokuCell"></asp:TextBox></td>
<td class="column4NoBottomBorder"><asp:TextBox ID="_c14" runat="server" CssClass="sudokuCell"></asp:TextBox></td>
<td class="column5NoBottomBorder"><asp:TextBox ID="_c15" runat="server" CssClass="sudokuCell"></asp:TextBox></td>
<td class="column6NoBottomBorder"><asp:TextBox ID="_c16" runat="server" CssClass="sudokuCell"></asp:TextBox></td>
<td class="column7NoBottomBorder"><asp:TextBox ID="_c17" runat="server" CssClass="sudokuCell"></asp:TextBox></td>
<td class="column8NoBottomBorder"><asp:TextBox ID="_c18" runat="server" CssClass="sudokuCell"></asp:TextBox></td>
<td class="column9NoBottomBorder"><asp:TextBox ID="_c19" runat="server" CssClass="sudokuCell"></asp:TextBox></td>
</tr>
<tr>
我已經添加了我的aspx頁面stefan。 – jr3
Stefan,我用面板包圍了我的桌子,並從面板控件調用了.FindControl,現在一切正常。謝謝! – jr3