私はここSOFで約5つの質問を見てきましたが、実際にこれについて有用な答えは見つかりませんでした。私の.ascxコントロールのクライアントサイドイベントからJavaScript関数を呼び出すにはどうすればいいですか?このようにそれをやったときに、私は別のエラーを取得しています
javascript functions in .ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UIMenu.ascx.cs" Inherits="controls_UIMenu" %>
<script language="javascript" type="text/javascript">
function insetItem(myMenu)
{
myMenu.setAttribute("class", "myClass");
}
</script>
<asp:Menu ID="Menu1" runat="server" Font-Bold="True" Font-Size="Large" Height="50px"
Orientation="Horizontal" Target="_self" StaticMenuItemStyle-HorizontalPadding="10px"
OnMenuItemClick="insetItem(this)" StaticMenuItemStyle-BorderStyle="outset">
<Items>
<asp:MenuItem NavigateUrl="~/Home.aspx" Target="_self" Text="Home" Value="Home"></asp:MenuItem>
<asp:MenuItem NavigateUrl="~/Loaner.aspx" Target="_self" Text="New" Value="New"></asp:MenuItem>
</Items>
</asp:Menu>
:ここでは、ほとんどの答えはに私を導いてきたものを、私た.ascxファイルが...です。 "..... ascxには" insetItem "の定義が含まれておらず、このファイルを使用する他のページではそれを認識できません。 jsを実際の.aspxページに配置しようとすると、同じ定義エラーが発生します。
私はまだjscriptを学び始めました。ユーザーがメニュー項目をクリックしたときに、その項目の枠線スタイルを「挿入」に変更したいと考えています。私はjavascript> _ <のいずれかでクリックされる特定の項目の属性を変更する方法はわかりませんが、それは別の質問です。もし誰も私にこれをやることに正しい方法を導くことができれば、それはすばらしいでしょう。ありがとう!
を参照してください。それはいつも私を混乱させます..クライアントイベントとサーバーイベントの違いを伝える方法はありますか?私は新しいjscriptで、jQueryや何かに触れたことはありませんが、まもなく登場するようです。 –
@Nicklamort - 行はasp.netによってぼやけてしまいます。すべてのhtmlイベント属性(onclick、onblurなど)はjavascriptと相互作用します。 ASP Webコントロールを使用しているとき、実際にはいくつかの属性がページポストバックを呼び出すので、サーバー上で何かできることがあります。私はドキュメントに従うことに注意し、asp.netはクライアントの属性をClient(OnClientClick)という言葉で区別します。 –
オハイオ州オハイオ州..それは助けます。トックスマン –