C#を使用してパネルを非表示にするにはどうすればよいですか?

ヴァスダ

Gridviewを使用してデータを表示しました。グリッドビューの下に、質問の回答の「質問」に1つのラベル、「オプション」に4つのラベル、「正解」に1つのラベル、「説明」に1つのラベルを付けました。

正解と説明のラベルはパネルの下にあります。このパネルは、ユーザーが「回答を表示」ボタンをクリックすると表示され、もう一度そのボタンをクリックすると非表示になります。ページ読み込みメソッドの下で、「anspanel.Style.Add( "display"、 "none");」と記述しました。パネルを非表示にしますが、この行には構文エラーが表示されます:-「name'anspanel 'は現在のコンテキストに存在しません」。理由がわかりません。

これが私が試したことです:-

.aspx.cs =:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;


public partial class Student_Test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        anspanel.Style.Add("display", "none");
        if (!IsPostBack)
        {
            GridView1.DataSource = GetData("SELECT top 2 Question, Option1, Option2, Option3, Option4, CorrectAns, Explanation FROM Questions");
            GridView1.DataBind();
        }
    }
}

private DataSet GetData(string query)
{
    string conString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
    SqlCommand cmd = new SqlCommand(query);
    using (SqlConnection con = new SqlConnection(conString))
    {
        using (SqlDataAdapter sda = new SqlDataAdapter())
        {
            cmd.Connection = con;
            sda.SelectCommand = cmd;
            using (DataSet ds = new DataSet())
            {
                sda.Fill(ds);
                return ds;
            }
        }
    }
}
}

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test.aspx.cs" Inherits="Student_Test" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>

    <link rel="stylesheet" href="http://code.jquery.com/ui/1.8.3/themes/base/jquery-ui.css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.8.3/jquery-ui.js"></script>
<script type="text/javascript">
    var currentTab = 0;
    $(function () {
        $("#tabs").tabs({
            select: function (e, i) {
                currentTab = i.index;
            }
        });
    });
    $("#btnNext").live("click", function () {
        var tabs = $('#tabs').tabs();
        var c = $('#tabs').tabs("length");
        currentTab = currentTab == (c - 1) ? currentTab : (currentTab + 1);
        tabs.tabs('select', currentTab);
        $("#btnPrevious").show();
        if (currentTab == (c - 1)) {
            $("#btnNext").hide();
        } else {
            $("#btnNext").show();
        }
    });
    $("#btnPrevious").live("click", function () {
        var tabs = $('#tabs').tabs();
        var c = $('#tabs').tabs("length");
        currentTab = currentTab == 0 ? currentTab : (currentTab - 1);
        tabs.tabs('select', currentTab);
        if (currentTab == 0) {
            $("#btnNext").show();
            $("#btnPrevious").hide();
        }
        if (currentTab < (c - 1)) {
            $("#btnNext").show();
        }
    });

    $(function () {
        //$("#Panel2").hide();
        document.getElementById('form1').onsubmit = function () {
            return false;
        }//Avoid Reloading
        $("#Button1").click(function () {
            if ($('#anspanel').is(":hidden")) {
                $('#anspanel').show();
       
            }
            else {
                $('#anspanel').hide();
            }

            if ($("#Button1").val() == "Show Answer") {
                $("#Button1").val("Hide Answer");
            } else {
                $("#Button1").val("Show Answer");
            }
       

        });
      </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>


        <div id="tabs">
    <ul>
        <li><a href="#tabs-1">Tab 1</a></li>
        <li><a href="#tabs-2">Tab 2</a></li>
        <li><a href="#tabs-3">Tab 3</a></li>
        <li><a href="#tabs-4">Tab 4</a></li>
        <li><a href="#tabs-5">Tab 5</a></li>
    </ul>
    <div id="tabs-1">
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnRowDataBound="OnRowDataBound">
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>

        <asp:Panel ID="Panel1" runat="server">

            <asp:Label ID="Label1" runat="server" Text='<%#Eval("Question") %>'></asp:Label>
            <br />
            <br />
            <br />
           <span>A-</span> <asp:Label ID="Label2" runat="server" Text='<%#Eval("Option1")%>'></asp:Label>
            <br />
            <br />
            <span>B-</span> <asp:Label ID="Label3" runat="server" Text='<%#Eval("Option2")%>'></asp:Label>
            <br />
            <br />
            <span>C-</span> <asp:Label ID="Label4" runat="server" Text='<%#Eval("Option3")%>'></asp:Label>
            <br />
            <br />
            <span>D-</span> <asp:Label ID="Label5" runat="server" Text='<%#Eval("Option4")%>'></asp:Label>
            <br />
            <br />
            &nbsp;&nbs<asp:Button ID="Button1" runat="server" Text="Show Answer"  />
            <br />

            <asp:Panel id="anspanel" runat="server">

                <span>Correct Answer is :-</span><asp:Label ID="Label6" runat="server" Text='<%#Eval("CorrectAns")%>'></asp:Label>
                <br />
                <br />
                <asp:Label ID="Label7" runat="server" Text='<%#Eval("Explanation")%>'></asp:Label>


            </asp:Panel>


        </asp:Panel>
        <br />
        <br />

                 </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

          </div>
    <div id="tabs-2">
        Tab 2 Content
    </div>
    <div id="tabs-3">
        Tab 3 Content
    </div>
     <div id="tabs-4">
        Tab 4 Content
    </div>
     <div id="tabs-5">
        Tab 5 Content
    </div>
</div>
<input type="button" id="btnPrevious" value="Previous" style = "display:none"/>
<input type="button" id="btnNext" value="Next" />

    
    </div>
    </form>
</body>
</html>

私が間違いを犯している場所とその解決策を教えてください。

エラー:-

Server Error in '/' Application.

Object reference not set to an instance of an object.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error: 


Line 24:                     Panel panel1 = (Panel)GridView1.FindControl("Panel1");
Line 25:                     Panel anspanel = (Panel)GridView1.FindControl("anspanel");
Line 26:                     anspanel.Style.Add("display", "none");
Line 27:                 }
Line 28:             }

Source File: e:\Way2Success\Student\Test.aspx.cs    Line: 26 

Stack Trace: 


[NullReferenceException: Object reference not set to an instance of an object.]
   Student_Test.Page_Load(Object sender, EventArgs e) in e:\Way2Success\Student\Test.aspx.cs:26
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51
   System.Web.UI.Control.OnLoad(EventArgs e) +95
   System.Web.UI.Control.LoadRecursive() +59
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2952

sohaiby

まず、グリッドをバインドする必要があります。そうしないと、そこに行/コントロールがありません。次に、目的のコントロールを見つけて、そのプロパティを微調整する必要があります

if (!IsPostBack)
{
   GridView1.DataSource = GetData("SELECT top 2 Question, Option1, Option2, Option3, Option4, CorrectAns, Explanation FROM Questions");
   GridView1.DataBind();
   foreach (GridViewRow row in GridView1.Rows)
   {
      if (row.RowType == DataControlRowType.DataRow)
      {
         Panel panel1 = (Panel)row.FindControl("Panel1");
         Panel anspanel = (Panel)panel1.FindControl("anspanel");
         anspanel.Style.Add("display", "none");
       }
    }
 }

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

C#を使用してフォルダーを作成、非表示、および再表示するにはどうすればよいですか?

分類Dev

パネル内の<li>を表示および非表示にするにはどうすればよいですか?

分類Dev

Javaを使用して非表示のフォルダを取得するにはどうすればよいですか?

分類Dev

メソッド呼び出しを使用して特定のパネルを別のパネルに表示するにはどうすればよいですか?

分類Dev

パネルのBluetoothアイコンを非表示にするにはどうすればよいですか?

分類Dev

パネルのBluetoothアイコンを非表示にするにはどうすればよいですか?

分類Dev

GNOME 3パネルを非表示にするにはどうすればよいですか?

分類Dev

ドロップダウンメニューをクリックしてパネルを非表示にするにはどうすればよいですか?

分類Dev

Expressを使用してnodeJSに管理パネルを実装するにはどうすればよいですか?

分類Dev

jqueryを使用して<panel>を表示/非表示にするにはどうすればよいですか?

分類Dev

AppleScriptを使用してExcelで列を非表示にするにはどうすればよいですか?

分類Dev

aspを使用してHTMLパネルを変更するにはどうすればよいですか:LinkButton

分類Dev

vuejsを使用してペイパルボタンを表示するにはどうすればよいですか?

分類Dev

C#を使用して着信パラメータを取得するにはどうすればよいですか?

分類Dev

Greasemonkeyを使用してXPath要素を非表示にするにはどうすればよいですか?

分類Dev

virtualenvとDjangoを使用してsecret_keyを非表示にするにはどうすればよいですか?

分類Dev

phpを使用してオプションを非表示にするにはどうすればよいですか。

分類Dev

Nativebaseを使用してフォームを非表示にするにはどうすればよいですか?

分類Dev

gnome-shellを使用してパネルに日付を次に表示するにはどうすればよいですか?

分類Dev

gnome-shellを使用してパネルに日付を次に表示するにはどうすればよいですか?

分類Dev

OOPを使用してC#でテーブルを更新するにはどうすればよいですか?

分類Dev

macOSで `nm`を使用してCプログラムでローカル(非外部)シンボルを表示するにはどうすればよいですか?

分類Dev

C#を使用して.txtファイルを作成するにはどうすればよいですか?

分類Dev

Pythonを使用して非表示の入力の値を取得するにはどうすればよいですか?

分類Dev

jqueryを使用してモーダルを非表示にし、別のモーダルを表示するにはどうすればよいですか?

分類Dev

を使用してRStudioでgitの追跡されていないファイルを非表示にするにはどうすればよいですか?

分類Dev

2つのPrimefacesパネルを並べて表示するにはどうすればよいですか?

分類Dev

Wordpressの投稿でサムネイル画像を非表示にするにはどうすればよいですか?

分類Dev

javascriptまたはjqueryを使用してホバー時に画像パスを非表示にするにはどうすればよいですか?

Related 関連記事

  1. 1

    C#を使用してフォルダーを作成、非表示、および再表示するにはどうすればよいですか?

  2. 2

    パネル内の<li>を表示および非表示にするにはどうすればよいですか?

  3. 3

    Javaを使用して非表示のフォルダを取得するにはどうすればよいですか?

  4. 4

    メソッド呼び出しを使用して特定のパネルを別のパネルに表示するにはどうすればよいですか?

  5. 5

    パネルのBluetoothアイコンを非表示にするにはどうすればよいですか?

  6. 6

    パネルのBluetoothアイコンを非表示にするにはどうすればよいですか?

  7. 7

    GNOME 3パネルを非表示にするにはどうすればよいですか?

  8. 8

    ドロップダウンメニューをクリックしてパネルを非表示にするにはどうすればよいですか?

  9. 9

    Expressを使用してnodeJSに管理パネルを実装するにはどうすればよいですか?

  10. 10

    jqueryを使用して<panel>を表示/非表示にするにはどうすればよいですか?

  11. 11

    AppleScriptを使用してExcelで列を非表示にするにはどうすればよいですか?

  12. 12

    aspを使用してHTMLパネルを変更するにはどうすればよいですか:LinkButton

  13. 13

    vuejsを使用してペイパルボタンを表示するにはどうすればよいですか?

  14. 14

    C#を使用して着信パラメータを取得するにはどうすればよいですか?

  15. 15

    Greasemonkeyを使用してXPath要素を非表示にするにはどうすればよいですか?

  16. 16

    virtualenvとDjangoを使用してsecret_keyを非表示にするにはどうすればよいですか?

  17. 17

    phpを使用してオプションを非表示にするにはどうすればよいですか。

  18. 18

    Nativebaseを使用してフォームを非表示にするにはどうすればよいですか?

  19. 19

    gnome-shellを使用してパネルに日付を次に表示するにはどうすればよいですか?

  20. 20

    gnome-shellを使用してパネルに日付を次に表示するにはどうすればよいですか?

  21. 21

    OOPを使用してC#でテーブルを更新するにはどうすればよいですか?

  22. 22

    macOSで `nm`を使用してCプログラムでローカル(非外部)シンボルを表示するにはどうすればよいですか?

  23. 23

    C#を使用して.txtファイルを作成するにはどうすればよいですか?

  24. 24

    Pythonを使用して非表示の入力の値を取得するにはどうすればよいですか?

  25. 25

    jqueryを使用してモーダルを非表示にし、別のモーダルを表示するにはどうすればよいですか?

  26. 26

    を使用してRStudioでgitの追跡されていないファイルを非表示にするにはどうすればよいですか?

  27. 27

    2つのPrimefacesパネルを並べて表示するにはどうすればよいですか?

  28. 28

    Wordpressの投稿でサムネイル画像を非表示にするにはどうすればよいですか?

  29. 29

    javascriptまたはjqueryを使用してホバー時に画像パスを非表示にするにはどうすればよいですか?

ホットタグ

アーカイブ