コンテンツ ページからマスター ページ テーブルを非表示にしたいと考えています。
さまざまな方法でテーブル コントロールを非表示にしようとしましたが、オンラインで次のエラー メッセージが表示されます。
tbl = (HtmlTable)Page.Master.FindControl("tbl_login");
エラー:
オブジェクト参照がオブジェクト インスタンスに設定されていません。
マスター ページのテーブル コントロールと、ログイン ページからマスター ページ コントロールを非表示にするコードを次に示します。
POViewというページがあり、POを承認するためのリンクボタンが1つあり、ボタンを押すとリクエストを送信するときに、1つのマスターページ(HTMLテーブルのテキストボックスと2つのボタン)が定義されたコントロールがほとんどないPOPアップウィンドウが表示されますユーザーパスワードを認証し、DBでいくつかの更新を行い、このPOPアップウィンドウ(response.write)にメッセージを表示するログインと呼ばれる別のページに移動します。
私が望むのは、このログインページからコントロール (マスターページで定義されたテキストボックスとボタン) を非表示にすることだけです。
注: このログイン ページには、マスター ページの参照タグがありません。
@ Page Language="C#" AutoEventWireup="true" CodeFile="login.aspx.cs" Inherits="login" %>
追加:マスター ページ ボタンの onClick と呼ばれる関数を次に示します。ログインページにリクエストを送信しています。
function showHint(str, str2, str3, reason)
{
gDiv = 'appFeedback';
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Your browser does not support AJAX!");
return;
}
//replace "tricky" chars in QS
var pwd= str.replace('£','!!pound!!');
pwd= pwd.replace('£','!!pound!!');
pwd= pwd.replace('£','!!pound!!');
pwd= pwd.replace('£','!!pound!!');
pwd= pwd.replace('&','!!and!!');
pwd= pwd.replace('&','!!and!!');
pwd= pwd.replace('&','!!and!!');
pwd= pwd.replace('&','!!and!!');
var url="login.aspx";
url=url+"?q="+pwd;
url=url+"&q2="+str2;
url=url+"&q3="+str3;
url=url+"&reason="+reason;
url=url+"&entity=<%= Request["entity"] %>";
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}