私はかなり簡単なことをしようとしています。私はいくつかのユーザーコントロールを持っていますLinkButtons
。各LinkButton
ありOnCommand
、CommandName
とCommandArgument
セットは、そのように:それは価値がある何のためLinkButton OnCommandまたはOnClick Not Firing
<ul id="continents">
<li id="northamerica"><asp:LinkButton ID="lbNorthAmerica" OnCommand="ChooseRegion" CommandName="SetCookie" CommandArgument="North America" runat="server">North America</asp:LinkButton></li>
<li id="southamerica"><asp:LinkButton ID="lbSouthAmerica" OnCommand="ChooseRegion" CommandName="SetCookie" CommandArgument="South America" runat="server">South America</asp:LinkButton></li>
<li id="asia"><asp:LinkButton ID="lbAsia" OnCommand="ChooseRegion" CommandName="SetCookie" CommandArgument="Asia" runat="server">Asia</asp:LinkButton></li>
<li id="australia"><asp:LinkButton ID="Australia" OnCommand="ChooseRegion" CommandName="SetCookie" CommandArgument="Australia" runat="server">Australia</asp:LinkButton></li>
<li id="africa"><asp:LinkButton ID="lbAfrica" OnCommand="ChooseRegion" CommandName="SetCookie" CommandArgument="Africa" runat="server">Africa</asp:LinkButton></li>
<li id="europe"><asp:LinkButton ID="lbEurope" OnCommand="ChooseRegion" CommandName="SetCookie" CommandArgument="Europe" runat="server">Europe</asp:LinkButton></li>
</ul>
、ユーザーコントロールがAutoEventWireup="true"
を持っています。分離コードで
は、私はこれ持っている:私はリンクボタンをクリックしたとき、私の本番環境(Windows Server 2008の)で
protected void ChooseRegion(object sender, CommandEventArgs e)
{
Response.Cookies["region"].Value = e.CommandArgument.ToString();
Response.Cookies["region"].Expires = DateTime.Now.AddDays(90);
SendToRegion(e.CommandArgument.ToString());
}
を、ChooseRegion()
は呼ば取得されていないため、クッキーがセットされていません。私は理由を理解することができません。私はOnInit
のコマンドハンドラを手動で設定しようとしましたが、OnCommand
の代わりにOnClick
を使用しようとしました。私はLinkButtons
にEnableViewState="true"
を設定しようとしました。これまでに試したことはありませんでした。
しかし、これは私の開発マシン(Windows 7)で正常に動作します。
この時点で、これを引き起こしている2つの環境の設定には多少の違いがあるとはかなり確信していますが、どこから探し始めるのかは分かりません。アイデア?
編集 - 2011年10月26日:
OK - 私は私が他の場所でもこの問題を抱えている発見しました。上記のコードのサイトと私が問題を抱えている他のサイトは、両方とも同じSitecoreインスタンスを共有するSitecoreソリューションです。
他のサイトには、電子メールアドレスのテキストボックスと、関連するImageButtonとOnClickイベントがあります。これは、サイト内のすべてのページに含まれているコントロール内のすべてです。ホームページでは、OnClickハンドラは決して起動しません。他のページでは、OnClickハンドラが起動しません。
上記の私のポストの元の部分のコードは、サイトのホームページにもあります。他のページに移動すると、期待どおりに動作します。
また、自分の投稿の元の部分のコードと同様に、開発マシン(Windows 7)では正常に動作しますが、運用マシン(Windows 2008 Server)では正常に動作しません。だから、これはホームページに載っていることと関係しているようで、おそらくSitecoreはこの問題に何らかの形で関わっていると思われます。私はまだ頭を傷つけています...
問題のコードをすべて投稿したのですか、それとも減らしましたか?減らしても、このコードが問題を再現していることを確認しましたか? GET/POST要求が生成されているかどうかを確認するには、FireBug> Consoleウィンドウを試してください。 –
これは本質的に私が持っているコードです。 ChooseRegion()は自分のコードとまったく同じで、HTML/ASP.NETのフロントサイドコードにはそれほど多くはありません。私はチェックして、私は期待していたPOST要求を見ている。 –