почему не распознаются текстовое поле и asp компонента, похожего на кнопку

#c# #asp.net #visual-studio-2008

#c# #asp.net #visual-studio-2008

Вопрос:

в моем коде есть таблица с текстовым полем и кнопкой в каждой ячейке. Моя проблема в том, что кнопка и поле не распознаются как System.Web.UI.WebControls.Кнопка и System.Web.UI.WebControls.Текстовое поле соответственно. На самом деле распознавание, подобное buton, является текстовым полем html plain. Я собираюсь поместить свой код, чтобы, если кто-нибудь увидит, что я делаю неправильно.

Примечание: Если я уберу эти элементы из таблицы, они будут работать, поэтому я предположил, что в таблице что-то не так

 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="MapaPrueba._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Uso de google map</title>
     <link href='/assets/css/styles.css' rel='stylesheet' type='text/css' />
</head>
<body>
<form id="form1" runat="server">
<asp:Panel runat="server" Height="1024" Width="768" style="text-align: center"> 
<div id="map-canvas" style="width: 700px; height: 500px" align="center"></div>                     
<asp:Table id="Table1" runat="server" CellPadding="10" GridLines="Both" HorizontalAlign="Center">
    <asp:TableRow runat="server">
        <asp:TableCell runat="server">
            <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
        </asp:TableCell>
        <asp:TableCell>
            <asp:TextBox ID="TextBox1" runat="server" ></asp:TextBox>
        </asp:TableCell>
    </asp:TableRow>
</asp:Table>
</asp:Panel>
</form>
</body>
</html>
  

Комментарии:

1. Есть ли какая-либо причина, по которой вам нужно использовать таблицу ASP, не могли бы вы просто использовать таблицу HTML?

2. Не могли бы вы показать нам свою директиву Page? Вы создаете веб-приложение или веб-сайт? Если это веб-приложение, то щелкните правой кнопкой мыши на странице и выберите «Преобразовать в веб-приложение».

3. @keyboardP уверен, что я собираюсь отредактировать

4. Какое сообщение об ошибке отображается?

5. @keyboardP это не показывает ошибку

Ответ №1:

Я бы последовал предложению atrljoe. Не используйте таблицу asp, просто используйте

<таблица> <tr> <td> элементы управления идут сюда </td> <tr> </table>

Совет: Если вы сначала добавляете таблицу, переключитесь в VS в режим конструктора и с помощью Ctrl Alt стрелки вы сможете легко добавлять новые строки и столбцы

Ответ №2:

Вы не можете получить доступ к элементам управления, потому что вы размещаете элемент управления (ASP Button amp; ASP TextBox) в элементе управления (таблица ASP) ASP.NET Таблица. Каждый ASP.net страница имеет дерево управления, все элементы управления (HTML и серверные элементы управления находятся в этом дереве управления на основе их положения в иерархии страницы). Таким образом, поскольку оно содержится в элементе управления, система его не распознает. Чтобы получить доступ к этому элементу управления, вам нужно было бы использовать FindControl в вашем коде.

Как я и просил, если вам действительно нужно управлять этой кнопкой и текстовым полем, тогда рассмотрите возможность перехода на таблицу HTML. В противном случае, когда вы ссылаетесь на эти элементы управления в своем коде, вам нужно будет использовать FindControl