Я продолжаю получать запросы на «сделай мне инструмент для выполнения xyz» для веб-приложения , которое мы выставляем.
Итак, после третьего я понял, что было бы проще объединить их все вместе и использовать главную страницу.
У меня есть пользовательский элемент управления, называемый MessageCenter, который я использую для сообщений об ошибках, успешных и информационных сообщениях, поэтому я удалил его на главной странице.
<%@ Master Language="VB" CodeFile="tfMasterPage.master.vb" Inherits="tfMasterPage" %>
<%@ Register Src="MessageCenter/msgCenter.ascx" TagName="msgCenter" TagPrefix="uc1" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>INSERT TITLE HERE</title>
<link href="Stylesheets/EogTool.css" rel="stylesheet" type="text/css" />
<link href="stylesheets/TF_Main_Styles.css" rel="stylesheet" type="text/css" />
<link href="stylesheets/TF_Print_Styles.css" rel="stylesheet" type="text/css" media="print" />
</head>
<body style="background-color: #eeeeee">
<form id="form1" runat="server">
<div class="page">
<div class="headerArea">
<div class="LogoImg">
<img alt="Transparency Florida" src="images/TF_Logo.jpg" /></div>
<div class="SealImg">
<img alt="Shining the Light on Florida's Budget" src="images/TF_Seal.jpg" /></div>
</div>
<div class="content">
<h1>
FIS - EOG Table Maintenance</h1>
</div>
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div class="content">
<div>
<uc1:msgCenter ID="MsgCenter1" runat="server" />
</div>
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
...
Обычно, когда msgcenter находится на обычной странице aspx, я вызываю его метод и материал из кода, как в этом подпункте:
...
rtn = dal.deleteRow(CInt(e.CommandArgument), currentTab())
If Not IsNumeric(rtn) Then
MsgCenter1.addMessage("An Error occured deletion" & rtn, , , , "E")
Else
MsgCenter1.addMessage("Delete Successful", , , , "S")
End If
bindGrid()
MsgCenter1.Visible = True
End Sub
Но когда я пытаюсь сделать это из содержимого asp: content на странице, используя главную страницу, оно говорит мне, что msgCenter1 не объявлен. Это какая-то проблема в области видимости.
Я читал об использовании findcontrol, как
ctype(master.findcontrol("tbWhatever"), textbox).text = "FOO"
Но когда я пытаюсь привести к своему пользовательскому элементу управления, он жалуется, потому что он снова не объявлен.
Я чувствую, что мне не хватает одной части головоломки, но она ускользает от меня с 4 вечера вчера.
Любой совет, указатели или ссылки будут наиболее полезны.
Спасибо.