- PR -

SmartNavigationをTrueにするとLinkButtonを押した際にフォントが変わる

投稿者投稿内容
カタナ
大ベテラン
会議室デビュー日: 2006/05/25
投稿数: 110
投稿日時: 2006-11-09 15:32
いつもお世話になります。現在ASP.NET にて、Webのシステムを作成しております。
開発環境はVS2003+VB です。
ある画面で、LinkButtonを押すとフォントの大きさが変わってしまいます。
そこで調べた結果、SmartNavigationをTrueにするとLinkButtonを押した際にフォントが変わってしまうようです。
▼手順
(1)IEで文字のサイズを最小にしておく
(2)LinkButtonを押す
(3)文字のサイズが最大になる
この現象を回避する方法はないのでしょうか?
よろしくご教授ください。

カタナ
大ベテラン
会議室デビュー日: 2006/05/25
投稿数: 110
投稿日時: 2006-11-10 11:09
追記です。テスト的に作成したソースもアップしておきます。
まだ悩んでいます。何かいい解決方法はないでしょうか?

■WebForm1.aspx-----------------------------------------------------
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication3.WebForm1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForm1</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 MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:LinkButton id="LinkButton1" style="Z-INDEX: 101; LEFT: 144px; POSITION: absolute; TOP: 136px"
runat="server">LinkButton</asp:LinkButton></form>
</body>
</HTML>

■WebForm1.aspx.vb-----------------------------------------------------
Public Class WebForm1
Inherits System.Web.UI.Page

#Region " Web フォーム デザイナで生成されたコード "

'この呼び出しは Web フォーム デザイナで必要です。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

End Sub
Protected WithEvents LinkButton1 As System.Web.UI.WebControls.LinkButton

'メモ : 次のプレースホルダ宣言は Web フォーム デザイナで必要です。
'削除および移動しないでください。
Private designerPlaceholderDeclaration As System.Object

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
' CODEGEN: このメソッド呼び出しは Web フォーム デザイナで必要です。
' コード エディタを使って変更しないでください。
InitializeComponent()
End Sub

#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' ページを初期化するユーザー コードをここに挿入します。
Me.SmartNavigation = True
End Sub
End Class
Katze
ベテラン
会議室デビュー日: 2005/11/01
投稿数: 74
お住まい・勤務地: 1台でも せんだい
投稿日時: 2006-11-10 11:39
こちらの環境で提示されたソースで試してみましたが
現象は発生しませんでした。

とりあえずSmartNavigationを使用せずに
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=9558&forum=7&start=8
にあるようなJavaScriptを使用してみてはいかがでしょうか
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-11-10 12:56
引用:

カタナさんの書き込み (2006-11-09 15:32) より:

そこで調べた結果、SmartNavigationをTrueにするとLinkButtonを押した際にフォントが変わってしまうようです。


これは、既知の不具合だったと思います。
河端善博先生の PageScrollManager を使用すると回避できると思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
カタナ
大ベテラン
会議室デビュー日: 2006/05/25
投稿数: 110
投稿日時: 2006-11-10 13:46
Katzeさん、じゃんぬねっと返信ありがとうございます。

じゃんぬねっとの言われているPageScrollManagerを使用して解決することができました。

正直、これを使ったら今までsmartnavigationを使っているのが馬鹿馬鹿しくなるくらいすぐれた一品ですね。
今まで困っていたsmartnavigationを使ったために発生する現象がすべて解決しました。

・ボタンイベントを実行するとDataGridの幅が変わってしまう。
・別窓でhtmlを開くとフォーカスをあてているのに背面に回ってしまう
・リンクボタンを押しても文字サイズが変わる

本当にありがとうございます。
私、vs2005は利用したことがないのですが、やはりvs2005でもsmartnavigationにはいろいろと問題があるのですかね?
本題とは関係ないですが、ちょっと気になったもので・・・。
カタナ
大ベテラン
会議室デビュー日: 2006/05/25
投稿数: 110
投稿日時: 2006-11-10 14:07
すみません。PageScrollManager ってXHTMLでは利用できないのですね・・・
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
の部分を
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
に変更したら動かなくなってしまいました。
一瞬、解決したと思い大喜びしただけに残念です。
なにか解決方法はございませんか?
よろしくご教授ください。

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-11-10 22:16
 ASP.NET 2.0 では、SmartNavigation ではなく、他のコンポーネントが用意されています。
 XHTML にすると利用できないのは、イベントの一部が XTHML に無いためで、既出だったよなぁ?・・・って、あなたのスレッドじゃないですか(^-^;
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=34403&forum=7

参考→ http://www.atmarkit.co.jp/fdotnet/index/bbs/dir113.html
(カテゴリ名を、「SmartNavigation」から「ポストバック後の位置保持」に変更しています)
ほら、参考になりそうなのがあるでしょ?
_________________
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-11-11 00:13
引用:

Jittaさんの書き込み (2006-11-10 22:16) より:

ASP.NET 2.0 では、SmartNavigation ではなく、他のコンポーネントが用意されています。


MaintainScrollPositionOnPostBack は―

引用:

カタナさんの書き込み (2006-11-09 15:32) より:

開発環境はVS2003+VB です。


―2.0 ではないので使えません。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

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