#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