@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

asp.net(vb)で二重起動防止

1
投稿者投稿内容
インスパ
大ベテラン
会議室デビュー日: 2002/08/30
投稿数: 125
投稿日時: 2006-03-02 20:09
asp.net(vb)で二重起動防止を考えておりいくつか過去の例を見させていただきました
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=9333&forum=7

上記のスレッドを参考にしているのでがエラーが出てしまいます。

asp.netのコード抜粋
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="Hoge.aspx.vb" Inherits="Hoge.WebForm1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<script language="javascript">
<!--
function IsReadyState()
{
if (window.document.readyState != null && window.document.readyState != 'complete'){
alert("前回の処理中です。");
return false;
}else{
return true;
}
}
// -->
</script>
<HTML>
<HEAD>
<title>Hoge実行</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<body style="TEXT-ALIGN: center" MS_POSITIONING="GridLayout" >
<div class="special"><asp:label id="LabelTitle">Hoge実行</asp:label><br>

<form id="FormPass" method="post" runat="server" >
<asp:button id="ButtonGo" runat="server" Width="204px" Height="36px" Text="処理開始" onclick="if(!IsReadyState()) return false;" ></asp:button><br>
</form>
</div>
</body>
</HTML>


コンパイルエラーが出てしまいます
コンパイラ エラー メッセージ: BC30456: 'if' は 'ASP.Hoge_aspx' のメンバではありません。

何が原因かご存知の方ご指示願います

かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-03-02 20:25
引用:

Natsumeさんの書き込み (2006-03-02 20:09) より:

<asp:button id="ButtonGo" runat="server" Width="204px" Height="36px" Text="処理開始" onclick="if(!IsReadyState()) return false;" ></asp:button><br>

コンパイルエラーが出てしまいます
コンパイラ エラー メッセージ: BC30456: 'if' は 'ASP.Hoge_aspx' のメンバではありません。



ASP.NETのコントロールにクライアント側のスクリプトに関連付けるには
Page_Load時などに割り当ててあげないと
サーバ側のOnClickハンドらだと勘違いしてしまいます。

Attributes.Add("OnClick")="if(!IsReadyState()) return false;"
インスパ
大ベテラン
会議室デビュー日: 2002/08/30
投稿数: 125
投稿日時: 2006-03-02 20:41
引用:

かるあさんの書き込み (2006-03-02 20:25) より:
引用:

Natsumeさんの書き込み (2006-03-02 20:09) より:

<asp:button id="ButtonGo" runat="server" Width="204px" Height="36px" Text="処理開始" onclick="if(!IsReadyState()) return false;" ></asp:button><br>

コンパイルエラーが出てしまいます
コンパイラ エラー メッセージ: BC30456: 'if' は 'ASP.Hoge_aspx' のメンバではありません。



ASP.NETのコントロールにクライアント側のスクリプトに関連付けるには
Page_Load時などに割り当ててあげないと
サーバ側のOnClickハンドらだと勘違いしてしまいます。

Attributes.Add("OnClick")="if(!IsReadyState()) return false;"



Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Attributes.Add("OnClick")="if(!IsReadyState()) return false;"
End Sub
こういうことでしょうか?

すみません、Attributesが宣言されていないとエラーが出るのですが、どのようにすればいいのかご存知であればお教え願います。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-02 20:56
引用:

Natsumeさんの書き込み (2006-03-02 20:41) より:

すみません、Attributesが宣言されていないとエラーが出るのですが、
どのようにすればいいのかご存知であればお教え願います。


Me.ButtonGo.Attributes.Add("onClick")...

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-03-02 20:59
引用:

Natsumeさんの書き込み (2006-03-02 20:41) より:

Attributes.Add("OnClick")="if(!IsReadyState()) return false;"



コード:
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        ButtonGo.Attributes("OnClick") = "if(!IsReadyState()) return false;"

    End Sub


あっ、オブジェクト名書き忘れていました。
WebControl.Attributes プロパティ に関しても調べてみてくださいね
1

スキルアップ/キャリアアップ(JOB@IT)