■61328 / inTopicNo.1) |
無効なポストバックまたはコールバック引数です。 |
□投稿者/ 塩9 (1回)-(2011/08/09(Tue) 12:07:18)
|
分類:[.NET 全般]
ASP初心者です。次期プロジェクトでASPを利用することになりました。サンプルコードで動作確認中なのですが,以下のプログラムでマルチビューを切り替えると、「無効なポストバックまたはコールバック引数です。」が出ます。ポストバックの有効性チェックをOffすれば動作するのは確認しましたが、それを行わない場合、実際はどのように解決するのが正しいのでしょうか。確認したかったのは、タイマーで更新するグラフがあるのですが、それを更新しながら、画面遷移(マルチビュー)を行いたいのです。
タイマー更新と画面遷移(マルチビュー)を同時に起こしてはいけないようですが、これのガードはどのように掛ければいいのでしょうか。
VS2008 .NET FRAMEWORK 3.5
-------------------------------Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._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></title>
<style type="text/css">
#TextArea1
{
height: 162px;
width: 366px;
}
</style>
<script language="javascript" type="text/javascript">
// <!CDATA[
var icnt = 0;
function Text1_onclick() {
}
// ]]>
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
</div>
<p>さいひょうじするとわかるかな
</p>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" />
</Triggers>
<ContentTemplate>
数えています。
<asp:Label runat="server" ID="label1">0</asp:Label>
<asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick">
</asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdateProgress ID="UpdateProgress1" runat="server" DisplayAfter="1">
</asp:UpdateProgress>
<p>
<input id="Text1" type="text" /></p>
<asp:MultiView ID="MultiView1" runat="server">
<asp:View ID="View1" runat="server">
View1<asp:Button ID="Button4" runat="server" onclick="Button4_Click"
Text="2へ" />
</asp:View>
<asp:View ID="View2" runat="server">
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="1へ" />
View 2<asp:Button ID="Button2" runat="server" onclick="Button2_Click"
Text="3へ" />
</asp:View>
<asp:View ID="View3" runat="server">
<asp:Button ID="Button3" runat="server" onclick="Button3_Click"
style="height: 21px" Text="2へ" />
View3
</asp:View>
</asp:MultiView>
</form>
</body>
</html>
---------------------------------------------- Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
MultiView1.ActiveViewIndex = 1;
//Timer1.Enabled = false;
}
protected void Timer1_Tick(object sender, EventArgs e)
{
if (Session["count"] == null)
Session["count"] = 1;
int nV = int.Parse(Session["count"].ToString() );
nV++;
Session["count"] = nV;
label1.Text = nV.ToString();
}
protected void Button1_Click(object sender, EventArgs e)
{
MultiView1.ActiveViewIndex = 0;
}
protected void Button2_Click(object sender, EventArgs e)
{
MultiView1.ActiveViewIndex = 2;
}
protected void Button3_Click(object sender, EventArgs e)
{
MultiView1.ActiveViewIndex = 1;
}
protected void Button4_Click(object sender, EventArgs e)
{
MultiView1.ActiveViewIndex = 1;
}
}
}
|
|