2017-07-06 18 views
0

ボタンがかなり簡単なページにあります。これはファイルを受け入れ、送信ボタンを押すとファイルを読み込みます。ボタンのイベントハンドラをコーディングしようとすると、現在のコンテキストにボタンが存在しないと言われているため、そのコードはまだコード化されていません。ASP.NETボタンが現在のコンテキストに存在しません

背後にあるコード:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.HtmlControls; 

public partial class mass_upload : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     btnSubmitMass.ServerClick += new EventHandler(btnSubmitMass_Click); 
    } 

    protected void btnSubmitMass_Click(object sender, EventArgs e) 
    { 

    } 
} 

Webページ:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="mass-upload.aspx.cs" Inherits="mass_upload" %> 
<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <title>Submissions</title> 
    <link href="/favicon.png" rel="icon"> 
    <link href="css/uikit.min.css" rel="stylesheet"> 
    <link href="css/uikit.css" rel="stylesheet"> 
    <link href="css/styles.css" rel="stylesheet" /> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> 
    <link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css" rel="stylesheet"> 
    <script src="https://use.fontawesome.com/50bcaa1a6b.js"></script> 
    <script src="js/uikit.min.js"></script> 
    <script src="js/uikit.js"></script> 
    <script src="js/uikit-icons.min.js"></script> 
</head> 
<body runat="server"> 
    <div class="uk-section uk-section-xsmall" style="background-color: #820024; margin:0px;"> 
     <div class="uk-container uk-container-large"> 
      <div uk-grid=""> 
       <div class="uk-width-1-2"> 
        <a href="index.aspx"><img src="images/image.png"></a> 
       </div> 
       <div class="uk-width-1-2"> 
        <div class="uk-float-right"> 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 
    <nav class="uk-navbar-container" style="background-color: rgba(138,121,103,1); color: #ffffff;" uk-navbar="mode: click"> 
     <div class="uk-navbar-center"> 
      <ul class="uk-navbar-nav uk-text-primary" style="color: #ffffff;"> 
       <li class="uk-active"> 
        <a href="index.aspx">Home</a> 
       </li> 
       <li> 
        <a href="manual-upload.aspx">Manual Submit</a> 
       </li> 
       <li> 
        <a href="mass-upload.aspx">Mass Submit</a> 
       </li> 
      </ul> 
     </div> 
    </nav> 
    <div class="uk-section uk-margin-remove-bottom uk-padding-remove-bottom"> 
     <div class="uk-container"> 
      <div class="uk-grid"> 
       <div class="uk-text-center uk-width-1-1"> 
        Click in the field below, browse to the file to be uploaded and click "Open". Once the file name is visible in the form field, click the Submit button. 
       </div> 
      </div> 
     </div> 
    </div> 
    <div class="uk-section" runat="server"> 
     <div class="uk-container uk-container-large uk-margin uk-margin-left uk-margin-right uk-padding" style="border:1px solid #cccccc;" runat="server"> 
      <form id="form1" runat="server"> 
       <fieldset class="uk-fieldset" runat="server"> 
        <!-- ****************************************************** --> 
        <div class="uk-grid-small [email protected] uk-text-center" uk-grid> 
         <div> 
          <div class="uk-margin" uk-margin> 
           <div uk-form-custom="target: true"> 
            <input type="file"> 
            <input class="uk-input uk-form-width-medium" disabled placeholder="Select file" type="text"> 
           </div> 
           <input type="button" id="btnSubmitMass" runat="server" value="Submit" class="uk-button uk-button-default" /> 
          </div> 
         </div> 
        </div> 
        <!-- ****************************************************** --> 
       </fieldset> 
      </form> 
     </div> 
    </div> 
    <div class="uk-grid" style="margin-bottom:15px;"> 
     <div class="uk-text-center uk-width-1-1"> 
      Copyright &copy 
     </div> 
    </div> 
</body> 
</html> 
+0

削除してから、もう一度aspxページに追加してください。場合によっては、コードをコピー/ペーストすると、Visual Studioがちょっと混乱することがあります。 – VDWWD

+0

私はこれをやりました、私はページを削除し、それを再作成して、まだ同じエラーがあります。 – Caveman42

+0

奇妙な。私はあなたのすべてのコードをコピーして、私のVSはボタンを見つけました... – VDWWD

答えて

0

手動でそれを宣言しようとすることができます:あなたはrunat="servser"を追加する場合

protected HtmlInputButton btnSubmitMass; 

protected void Page_Load(object sender, EventArgs e) 
{ 
    btnSubmitMass.ServerClick += new EventHandler(btnSubmitMass_Click); 
} 

protected void btnSubmitMass_Click(object sender, EventArgs e) 
{ 

} 

は、通常、そのコントロールを自動的に宣言する必要がありますaspxページを次に保存します。だから、単に名前を変更して保存してから、希望のIDに名前を変更して再度保存することもできます。

+1

ボタンをシンプルな ''にしないようにして、手動宣言と 'EventHandler'アタッチメントを無視する理由はありますか? (真に興味がある) – Santi

+0

これを実行すると、すでにbtnSubmitMassの定義が含まれていることがわかります。 @Santiはありません、私は入力タイプ= "ボタン"をどこにでも使っていますので、このページで変更する理由は見当たりませんでした。 – Caveman42

+0

@サティ:それはhtmlボタンだから、なぜOPがそれを必要としているのかわからない。 –

関連する問題