2011-12-18 15 views
-1

標準のボタンがありますが、メソッドを呼び出す必要がありますが、動作を拒否してしまい、その理由を理解できません。ボタンは動作しません

ASPコード:背後

<asp:FileUpload ID="FileUpload1" runat="server" /> 
     <asp:Button 
      ID="UploadButton" runat="server" onclick="UploadButton_Click" Text="Change Logo" /> 

コード:

protected void UploadButton_Click(object sender, EventArgs e) 
     { 
      PasswordLabel.Visible = true; 
      PasswordLabel.Text = "TEST Before"; 
      Image_Inserting(this); 
      PasswordLabel.Text = "TEST After"; 

     } 

私はちょうどそれをテストするために、テキストボックスのメソッドを追加しましたが、私がImage_Insertingの呼び出しを削除しても(バック投稿していないようです)。他のすべてのボタンは正常に動作するので、なぜこのボタンが機能しないのかわかりません。

EDIT:下

<%@ Page Title="" Language="C#" MasterPageFile="~/Standardmaster.Master" AutoEventWireup="true" CodeBehind="VendorAccount.aspx.cs" Inherits="PetShopParadise.Vendor_Pages.VendorAccount" %> 
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 
    <style type="text/css"> 
     .style10 
     { 
      color: #FF0000; 
     } 
    </style> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="mainContent" runat="server"> 

    <h2>Account Details</h2> 

    <div id="RegistrationDiv"> 
     <asp:FormView ID="FormView1" runat="server" DataSourceID="SqlDataSource1"> 
      <EditItemTemplate> 
       Name: 
       <asp:TextBox ID="NameTextBox" runat="server" Text='<%# Bind("Name") %>' /> 
       <br /> 
       Address: 
       <asp:TextBox ID="AddressTextBox" runat="server" Text='<%# Bind("Address") %>' /> 
       <br /> 
       Phone_Number: 
       <asp:TextBox ID="Phone_NumberTextBox" runat="server" 
        Text='<%# Bind("Phone_Number") %>' /> 
       <br /> 
       <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" 
        CommandName="Update" Text="Update" /> 
       &nbsp;<asp:LinkButton ID="UpdateCancelButton" runat="server" 
        CausesValidation="False" CommandName="Cancel" Text="Cancel" /> 
      </EditItemTemplate> 
      <InsertItemTemplate> 
       Name: 
       <asp:TextBox ID="NameTextBox" runat="server" Text='<%# Bind("Name") %>' /> 
       <br /> 
       Address: 
       <asp:TextBox ID="AddressTextBox" runat="server" Text='<%# Bind("Address") %>' /> 
       <br /> 
       Phone_Number: 
       <asp:TextBox ID="Phone_NumberTextBox" runat="server" 
        Text='<%# Bind("Phone_Number") %>' /> 
       <br /> 
       <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" 
        CommandName="Insert" Text="Insert" /> 
       &nbsp;<asp:LinkButton ID="InsertCancelButton" runat="server" 
        CausesValidation="False" CommandName="Cancel" Text="Cancel" /> 
      </InsertItemTemplate> 
      <ItemTemplate> 
       Name: 
       <asp:Label ID="NameLabel" runat="server" Text='<%# Bind("Name") %>' /> 
       <br /> 
       Address: 
       <asp:Label ID="AddressLabel" runat="server" Text='<%# Bind("Address") %>' /> 
       <br /> 
       Phone Number: 
       <asp:Label ID="Phone_NumberLabel" runat="server" 
        Text='<%# Bind("Phone_Number") %>' /> 
       <br /> 
        <asp:Button ID="Button3" runat="server" Text="Edit Details" CommandName="Edit" /> 
        <br /> 

      </ItemTemplate> 
     </asp:FormView> 
     <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
      ConnectionString="<%$ ConnectionStrings:PetShopParadiseConnectionString %>" 
      SelectCommand="SELECT [Name], [Address], [Phone_Number] FROM [Vendors] WHERE ([VendorID] = @VendorID)"> 
      <SelectParameters> 
       <asp:SessionParameter Name="VendorID" SessionField="ID" Type="Decimal" /> 
      </SelectParameters> 
     </asp:SqlDataSource> 
        <br /> 
     <asp:Table ID="Table1" runat="server" style="text-align:left;"> 
      <asp:TableRow ID="TableRow4" runat="server"> 
       <asp:TableCell ID="TableCell7" runat="server">Password</asp:TableCell><asp:TableCell ID="TableCell8" runat="server"> 
        <asp:TextBox ID="PasswordBox" TextMode="Password" runat="server"></asp:TextBox> 
        <asp:RequiredFieldValidator 
         id="RequiredFieldValidator5" 
         runat="server" 
         ControlToValidate="PasswordBox" 
         Display="None" 
         Forecolor="Red" 
         ErrorMessage="Please enter a password." /> 
         </asp:TableCell></asp:TableRow><asp:TableRow ID="TableRow5" runat="server"> 
       <asp:TableCell ID="TableCell9" runat="server">Re-Enter Password</asp:TableCell><asp:TableCell ID="TableCell10" runat="server"> 
        <asp:TextBox ID="PasswordCheckBox" TextMode="Password" runat="server"></asp:TextBox> 
        <asp:RequiredFieldValidator 
         id="RequiredFieldValidator6" 
         runat="server" 
         ControlToValidate="PasswordCheckBox" 
         Display="None" 
         Forecolor="Red" 
         ErrorMessage="Please re-enter your password." /> 
        </asp:TableCell></asp:TableRow></asp:Table><asp:Label 
      ID="PasswordLabel" runat="server" Text="Password" CssClass="style10"></asp:Label><br /> 
        <asp:Button ID="PasswordButton" 
      runat="server" Text="Update Password" onclick="PasswordButton_Click" /><br /> 


      <asp:SqlDataSource 
      ID="SqlDataSource2" runat="server" 
      ConnectionString="<%$ ConnectionStrings:PetShopParadiseConnectionString %>" 
      onselecting="SqlDataSource2_Selecting" SelectCommand="SELECT * FROM Vendors" 
      UpdateCommand="UPDATE [Vendors] SET [Password][email protected] WHERE ([VendorID] = @VendorID)" OnUpdating="Parameters_Updating"> 
      <UpdateParameters> 
      <asp:Parameter Name="Password" /> 
      <asp:SessionParameter name="VendorID" sessionfield="ID" /> 
      </UpdateParameters> 
      </asp:SqlDataSource> 

      <br /><asp:FileUpload ID="FileUpload1" runat="server" /> 
     <asp:Button 
      ID="UploadButton" runat="server" onclick="UploadButton_Click" Text="Change Logo" /></div></asp:Content> 



        <asp:Content ID="Content3" ContentPlaceHolderID="bannerContent" runat="server"> 
</asp:Content> 
+0

ページにいくつかのJSがありますか: –

+0

TextBox出力ではなくデバッガで試してください。上記のメソッドにブレークポイントを設定するか、Debug.Write( "...")を指定すると、Visual Studioの出力ウィンドウに何かが表示されますか? –

+0

どのタイプがPasswordLabelですか?パスワード付きのテキストボックスですか?更新してください。 –

答えて

1

私の推測では、他の(おそらく非表示)の検証を実行するために引き起こしているということです。 CausesValidationを必ずに設定してください。

+0

それはクリックを登録していないので、あなたはJSがブロックされていると仮定することができます。 – naspinski

+0

それは、ありがとう、それをしました。ボタンでどのように検証が隠されているのか聞いてもよろしいですか? (aspにまだまだ新しく、まだキンクを見つけている) – Matt

+0

Asp.Net WebFormsは奇妙なモンスターです...ページ全体が1つのフォームになっているので、まだ検証されている隠しビューがあることがあります。たとえば、フォームには上記のすべての更新マークアップが含まれているため、明示的に指定しない限り、フォームにあるボタンはそのフォームを検証します。あなたに私のavdice、Asp.Net MVCに行くと戻って振り返って:)あなたの人生ははるかに簡単になります(と高い支払... ...)。誤解を招くようなアドバイスである@naspinski – naspinski

0

引用に向けた全体PAGE-ボタンコード: 私はテキストボックスのメソッドを追加しました* *

私たちはどのあなたがすることはできませんパスワードのテキストボックスを更新しようと思います。のみによって

PasswordLabel .Attributes["value"] = "aaa"; 
+0

これはデバッガで実際にメソッドに入るかどうかを確認するために使用した通常のラベルですが、マウスクリックを登録してメソッドを呼び出すようには見えません。 – Matt

+0

トップライン全体にpageディレクティブをアップロードできますか? –

+0

さて、これまでのおかげで、ありがとう。 – Matt

関連する問題